30 #ifndef CEREAL_TYPES_QUEUE_HPP_
31 #define CEREAL_TYPES_QUEUE_HPP_
43 namespace queue_detail
47 template <
class T,
class C>
inline
48 C
const &
container( std::queue<T, C>
const & queue )
50 struct H :
public std::queue<T, C>
52 static C
const &
get( std::queue<T, C>
const & q )
63 template <
class T,
class C,
class Comp>
inline
64 C
const &
container( std::priority_queue<T, C, Comp>
const & priority_queue )
66 struct H :
public std::priority_queue<T, C, Comp>
68 static C
const &
get( std::priority_queue<T, C, Comp>
const & pq )
74 return H::get( priority_queue );
79 template <
class T,
class C,
class Comp>
inline
80 Comp
const &
comparator( std::priority_queue<T, C, Comp>
const & priority_queue )
82 struct H :
public std::priority_queue<T, C, Comp>
84 static Comp
const &
get( std::priority_queue<T, C, Comp>
const & pq )
86 return pq.*(&H::comp);
90 return H::get( priority_queue );
95 template <
class Archive,
class T,
class C>
inline
102 template <
class Archive,
class T,
class C>
inline
107 queue = std::queue<T, C>( std::move(
container ) );
111 template <
class Archive,
class T,
class C,
class Comp>
inline
119 template <
class Archive,
class T,
class C,
class Comp>
inline
Support for types found in <deque>
Support for types found in <functional>
Internal helper functionality.
#define CEREAL_NVP_(name, value)
Convenience for creating a templated NVP.
Definition: helpers.hpp:201
Comp const & comparator(std::priority_queue< T, C, Comp > const &priority_queue)
Allows access to the protected comparator in priority queue.
Definition: queue.hpp:80
C const & container(std::priority_queue< T, C, Comp > const &priority_queue)
Allows access to the protected container in priority queue.
Definition: queue.hpp:64
C const & container(std::queue< T, C > const &queue)
Allows access to the protected container in queue.
Definition: queue.hpp:48
in certain simple scenarios. They should probably not be used if maximizing performance is the main o...
Definition: access.hpp:42
std::enable_if< std::is_arithmetic< T >::value, void >::type CEREAL_LOAD_FUNCTION_NAME(BinaryInputArchive &ar, T &t)
Loading for POD types from binary.
Definition: binary.hpp:126
std::enable_if< std::is_arithmetic< T >::value, void >::type CEREAL_SAVE_FUNCTION_NAME(BinaryOutputArchive &ar, T const &t)
Saving for POD types to binary.
Definition: binary.hpp:118
auto get(const nlohmann::detail::iteration_proxy_value< IteratorType > &i) -> decltype(i.key())
Definition: json.hpp:5657