1 #ifndef PROTON_DEFAULT_CONTAINER_HPP
2 #define PROTON_DEFAULT_CONTAINER_HPP
25 #include "./container.hpp"
27 #include "./internal/config.hpp"
28 #include "./internal/export.hpp"
34 class messaging_handler;
37 #if defined(__GNUC__) && __GNUC__*100 + __GNUC_MINOR__ >= 406 || defined(__clang__)
38 #pragma GCC diagnostic push
39 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
45 #if PN_CPP_HAS_UNIQUE_PTR
46 PN_CPP_EXTERN std::unique_ptr<container> make_default_container(messaging_handler&,
const std::string&
id=
"");
48 PN_CPP_EXTERN std::unique_ptr<container> make_default_container(
const std::string&
id=
"");
51 #if PN_CPP_HAS_UNIQUE_PTR
52 class default_container :
public container_ref<std::unique_ptr<container> > {
54 default_container(messaging_handler& h,
const std::string&
id=
"") : container_ref(make_default_container(h,
id)) {}
55 default_container(
const std::string&
id=
"") : container_ref(make_default_container(
id)) {}
58 class default_container :
public container_ref<std::auto_ptr<container> > {
60 default_container(messaging_handler& h,
const std::string&
id=
"") : container_ref<std::auto_ptr<container> >(
make_auto_default_container(h,
id)) {}
65 #if defined(__GNUC__) && __GNUC__*100 + __GNUC_MINOR__ >= 406 || defined(__clang__)
66 #pragma GCC diagnostic pop
71 #endif // PROTON_DEFAULT_CONTAINER_HPP
std::string id() const
A unique identifier for the container.
Definition: container.hpp:316
std::auto_ptr< container > make_auto_default_container(messaging_handler &, const std::string &id="")
Default container factory for C++03, not recommended unless you only have C++03.