JXXON object mapper library
JXXON Namespace Reference

JXXON root namespace. More...

Classes

struct  EqualTo
 
struct  EqualTo< T, typename std::enable_if< IsSharedPtr< T >::value >::type >
 Functional forwarding to std::equal_to for nullable element targets. Null elements are considered equal to each other. More...
 
struct  EqualTo< T, typename std::enable_if<!IsSharedPtr< T >::value >::type >
 Functional forwarding to std::equal_to for non-nullable elements. More...
 
class  Error
 JXXON exception. More...
 
struct  Hash
 
struct  Hash< T, typename std::enable_if< IsSharedPtr< T >::value >::type >
 Functional forwarding to std::hash for nullable element targets. More...
 
struct  Hash< T, typename std::enable_if<!IsSharedPtr< T >::value >::type >
 Functional forwarding to std::hash for non-nullable elements. More...
 
struct  IsSharedPtr
 Trait class identifying T not to be a std::shared_ptr (i.e. non-nullable). More...
 
struct  IsSharedPtr< std::shared_ptr< T > >
 Trait class identifying T as std::shared_ptr (i.e. nullable). More...
 
class  Json
 
struct  Less
 
struct  Less< T, typename std::enable_if< IsSharedPtr< T >::value >::type >
 Functional forwarding to std::less for nullable element targets. Null elements are considered equal to each other. More...
 
struct  Less< T, typename std::enable_if<!IsSharedPtr< T >::value >::type >
 Functional forwarding to std::less for non-nullable elements. More...
 

Typedefs

template<typename T , typename Allocator = std::allocator<T>>
using Deque = Json::Array< T, Base::Deque, Allocator >
 Alias template composing std::deque<T, Allocator> and implementing JXXON::Serializable.
 
template<typename T , typename Allocator = std::allocator<T>>
using List = Json::Array< T, Base::List, Allocator >
 Alias template composing std::list<T> and implementing JXXON::Serializable.
 
template<typename T , typename Compare = std::less<std::string>, typename Allocator = std::allocator<std::pair<const std::string, T>>>
using Map = Json::Map< T, Base::Map, Compare, Allocator >
 Alias template composing std::map<std::string, T, Compare, Allocator> and implementing JXXON::Serializable.
 
template<typename Key , typename Compare = Less<Key>, typename Allocator = std::allocator<Key>>
using Multiset = Json::Array< Key, Base::Multiset, Compare, Allocator >
 Alias template composing std::set<Key, Compare, Allocator> and implementing JXXON::Serializable.
 
using Serializable = Json::Serializable
 Interface type alias implemented by (de)serializable classes.
 
template<typename Key , typename Compare = Less<Key>, typename Allocator = std::allocator<Key>>
using Set = Json::Array< Key, Base::Set, Compare, Allocator >
 Alias template composing std::set<Key, Compare, Allocator> and implementing JXXON::Serializable.
 
template<typename T , typename Hash = std::hash<std::string>, typename Predicate = std::equal_to<std::string>, typename Allocator = std::allocator<std::pair<const std::string, T>>>
using UnorderedMap = Json::Map< T, Base::UnorderedMap, Hash, Predicate, Allocator >
 Alias template composing std::unordered_map<std::string, T, Hash, Predicate, Allocator> and implementing JXXON::Serializable.
 
template<typename Key , typename Hash = Hash<Key>, typename Predicate = EqualTo<Key>, typename Allocator = std::allocator<Key>>
using UnorderedMultiset = Json::Array< Key, Base::UnorderedMultiset, Hash, Predicate, Allocator >
 Alias template composing std::set<Key, Hash, Predicate, Allocator> and implementing JXXON::Serializable.
 
template<typename Key , typename Hash = Hash<Key>, typename Predicate = EqualTo<Key>, typename Allocator = std::allocator<Key>>
using UnorderedSet = Json::Array< Key, Base::UnorderedSet, Hash, Predicate, Allocator >
 Alias template composing std::set<Key, Hash, Predicate, Allocator> and implementing JXXON::Serializable.
 
template<typename T , typename Allocator = std::allocator<T>>
using Vector = Json::Array< T, Base::Vector, Allocator >
 Alias template composing std::vector<T, Allocator> and implementing JXXON::Serializable.
 

Detailed Description

JXXON root namespace.