cphot 0.1
A C++ tool for computing photometry from spectra.
GenericObject< Const, ValueT > Class Template Reference

Helper class for accessing Value of object type. More...

#include <document.h>

Public Types

typedef GenericObject< true, ValueT > ConstObject
 
typedef GenericObject< false, ValueT > Object
 
typedef ValueT PlainType
 
typedef internal::MaybeAddConst< Const, PlainType >::Type ValueType
 
typedef GenericMemberIterator< Const, typename ValueT::EncodingType, typename ValueT::AllocatorType > MemberIterator
 
typedef GenericMemberIterator< true, typename ValueT::EncodingType, typename ValueT::AllocatorType > ConstMemberIterator
 
typedef ValueType::AllocatorType AllocatorType
 
typedef ValueType::StringRefType StringRefType
 
typedef ValueType::EncodingType EncodingType
 
typedef ValueType::Ch Ch
 

Public Member Functions

 GenericObject (const GenericObject &rhs)
 
GenericObjectoperator= (const GenericObject &rhs)
 
 ~GenericObject ()
 
SizeType MemberCount () const
 
bool ObjectEmpty () const
 
template<typename T >
ValueTypeoperator[] (T *name) const
 
template<typename SourceAllocator >
ValueTypeoperator[] (const GenericValue< EncodingType, SourceAllocator > &name) const
 
MemberIterator MemberBegin () const
 
MemberIterator MemberEnd () const
 
bool HasMember (const Ch *name) const
 
template<typename SourceAllocator >
bool HasMember (const GenericValue< EncodingType, SourceAllocator > &name) const
 
MemberIterator FindMember (const Ch *name) const
 
template<typename SourceAllocator >
MemberIterator FindMember (const GenericValue< EncodingType, SourceAllocator > &name) const
 
GenericObject AddMember (ValueType &name, ValueType &value, AllocatorType &allocator) const
 
GenericObject AddMember (ValueType &name, StringRefType value, AllocatorType &allocator) const
 
template<typename T >
 RAPIDJSON_DISABLEIF_RETURN ((internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >),(ValueType &)) AddMember(ValueType &name
 
GenericObject AddMember (StringRefType name, ValueType &value, AllocatorType &allocator) const
 
GenericObject AddMember (StringRefType name, StringRefType value, AllocatorType &allocator) const
 
template<typename T >
 RAPIDJSON_DISABLEIF_RETURN ((internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >),(GenericObject)) AddMember(StringRefType name
 
void RemoveAllMembers ()
 
bool RemoveMember (const Ch *name) const
 
template<typename SourceAllocator >
bool RemoveMember (const GenericValue< EncodingType, SourceAllocator > &name) const
 
MemberIterator RemoveMember (MemberIterator m) const
 
MemberIterator EraseMember (ConstMemberIterator pos) const
 
MemberIterator EraseMember (ConstMemberIterator first, ConstMemberIterator last) const
 
bool EraseMember (const Ch *name) const
 
template<typename SourceAllocator >
bool EraseMember (const GenericValue< EncodingType, SourceAllocator > &name) const
 

Public Attributes

value
 
T AllocatorType &const allocator { value_.AddMember(name, value, allocator)
 
return * this
 

Friends

template<typename , typename >
class GenericValue
 

Detailed Description

template<bool Const, typename ValueT>
class GenericObject< Const, ValueT >

Helper class for accessing Value of object type.

Instance of this helper class is obtained by GenericValue::GetObject(). In addition to all APIs for array type, it provides range-based for loop if RAPIDJSON_HAS_CXX11_RANGE_FOR=1.

Definition at line 524 of file document.h.

Member Typedef Documentation

◆ AllocatorType

template<bool Const, typename ValueT >
typedef ValueType::AllocatorType GenericObject< Const, ValueT >::AllocatorType

Definition at line 2500 of file document.h.

◆ Ch

template<bool Const, typename ValueT >
typedef ValueType::Ch GenericObject< Const, ValueT >::Ch

Definition at line 2503 of file document.h.

◆ ConstMemberIterator

template<bool Const, typename ValueT >
typedef GenericMemberIterator<true, typename ValueT::EncodingType, typename ValueT::AllocatorType> GenericObject< Const, ValueT >::ConstMemberIterator

Definition at line 2499 of file document.h.

◆ ConstObject

template<bool Const, typename ValueT >
typedef GenericObject<true, ValueT> GenericObject< Const, ValueT >::ConstObject

Definition at line 2494 of file document.h.

◆ EncodingType

template<bool Const, typename ValueT >
typedef ValueType::EncodingType GenericObject< Const, ValueT >::EncodingType

Definition at line 2502 of file document.h.

◆ MemberIterator

template<bool Const, typename ValueT >
typedef GenericMemberIterator<Const, typename ValueT::EncodingType, typename ValueT::AllocatorType> GenericObject< Const, ValueT >::MemberIterator

Definition at line 2498 of file document.h.

◆ Object

template<bool Const, typename ValueT >
typedef GenericObject<false, ValueT> GenericObject< Const, ValueT >::Object

Definition at line 2495 of file document.h.

◆ PlainType

template<bool Const, typename ValueT >
typedef ValueT GenericObject< Const, ValueT >::PlainType

Definition at line 2496 of file document.h.

◆ StringRefType

template<bool Const, typename ValueT >
typedef ValueType::StringRefType GenericObject< Const, ValueT >::StringRefType

Definition at line 2501 of file document.h.

◆ ValueType

template<bool Const, typename ValueT >
typedef internal::MaybeAddConst<Const,PlainType>::Type GenericObject< Const, ValueT >::ValueType

Definition at line 2497 of file document.h.

Constructor & Destructor Documentation

◆ GenericObject()

template<bool Const, typename ValueT >
GenericObject< Const, ValueT >::GenericObject ( const GenericObject< Const, ValueT > &  rhs)
inline

Definition at line 2508 of file document.h.

◆ ~GenericObject()

template<bool Const, typename ValueT >
GenericObject< Const, ValueT >::~GenericObject ( )
inline

Definition at line 2510 of file document.h.

Member Function Documentation

◆ AddMember() [1/4]

template<bool Const, typename ValueT >
GenericObject GenericObject< Const, ValueT >::AddMember ( StringRefType  name,
StringRefType  value,
AllocatorType allocator 
) const
inline

Definition at line 2544 of file document.h.

◆ AddMember() [2/4]

template<bool Const, typename ValueT >
GenericObject GenericObject< Const, ValueT >::AddMember ( StringRefType  name,
ValueType value,
AllocatorType allocator 
) const
inline

Definition at line 2543 of file document.h.

◆ AddMember() [3/4]

template<bool Const, typename ValueT >
GenericObject GenericObject< Const, ValueT >::AddMember ( ValueType name,
StringRefType  value,
AllocatorType allocator 
) const
inline

Definition at line 2532 of file document.h.

◆ AddMember() [4/4]

template<bool Const, typename ValueT >
GenericObject GenericObject< Const, ValueT >::AddMember ( ValueType name,
ValueType value,
AllocatorType allocator 
) const
inline

Definition at line 2531 of file document.h.

◆ EraseMember() [1/4]

template<bool Const, typename ValueT >
bool GenericObject< Const, ValueT >::EraseMember ( const Ch name) const
inline

Definition at line 2555 of file document.h.

◆ EraseMember() [2/4]

template<bool Const, typename ValueT >
template<typename SourceAllocator >
bool GenericObject< Const, ValueT >::EraseMember ( const GenericValue< EncodingType, SourceAllocator > &  name) const
inline

Definition at line 2559 of file document.h.

◆ EraseMember() [3/4]

template<bool Const, typename ValueT >
MemberIterator GenericObject< Const, ValueT >::EraseMember ( ConstMemberIterator  first,
ConstMemberIterator  last 
) const
inline

Definition at line 2554 of file document.h.

◆ EraseMember() [4/4]

template<bool Const, typename ValueT >
MemberIterator GenericObject< Const, ValueT >::EraseMember ( ConstMemberIterator  pos) const
inline

Definition at line 2553 of file document.h.

◆ FindMember() [1/2]

template<bool Const, typename ValueT >
MemberIterator GenericObject< Const, ValueT >::FindMember ( const Ch name) const
inline

Definition at line 2526 of file document.h.

◆ FindMember() [2/2]

template<bool Const, typename ValueT >
template<typename SourceAllocator >
MemberIterator GenericObject< Const, ValueT >::FindMember ( const GenericValue< EncodingType, SourceAllocator > &  name) const
inline

Definition at line 2527 of file document.h.

◆ HasMember() [1/2]

template<bool Const, typename ValueT >
bool GenericObject< Const, ValueT >::HasMember ( const Ch name) const
inline

Definition at line 2521 of file document.h.

◆ HasMember() [2/2]

template<bool Const, typename ValueT >
template<typename SourceAllocator >
bool GenericObject< Const, ValueT >::HasMember ( const GenericValue< EncodingType, SourceAllocator > &  name) const
inline

Definition at line 2525 of file document.h.

◆ MemberBegin()

template<bool Const, typename ValueT >
MemberIterator GenericObject< Const, ValueT >::MemberBegin ( ) const
inline

Definition at line 2519 of file document.h.

◆ MemberCount()

template<bool Const, typename ValueT >
SizeType GenericObject< Const, ValueT >::MemberCount ( ) const
inline

Definition at line 2512 of file document.h.

◆ MemberEnd()

template<bool Const, typename ValueT >
MemberIterator GenericObject< Const, ValueT >::MemberEnd ( ) const
inline

Definition at line 2520 of file document.h.

◆ ObjectEmpty()

template<bool Const, typename ValueT >
bool GenericObject< Const, ValueT >::ObjectEmpty ( ) const
inline

Definition at line 2513 of file document.h.

◆ operator=()

template<bool Const, typename ValueT >
GenericObject& GenericObject< Const, ValueT >::operator= ( const GenericObject< Const, ValueT > &  rhs)
inline

Definition at line 2509 of file document.h.

◆ operator[]() [1/2]

template<bool Const, typename ValueT >
template<typename SourceAllocator >
ValueType& GenericObject< Const, ValueT >::operator[] ( const GenericValue< EncodingType, SourceAllocator > &  name) const
inline

Definition at line 2515 of file document.h.

◆ operator[]() [2/2]

template<bool Const, typename ValueT >
template<typename T >
ValueType& GenericObject< Const, ValueT >::operator[] ( T *  name) const
inline

Definition at line 2514 of file document.h.

◆ RAPIDJSON_DISABLEIF_RETURN() [1/2]

template<bool Const, typename ValueT >
template<typename T >
GenericObject< Const, ValueT >::RAPIDJSON_DISABLEIF_RETURN ( (internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >)  ,
(GenericObject< Const, ValueT >)   
)

◆ RAPIDJSON_DISABLEIF_RETURN() [2/2]

template<bool Const, typename ValueT >
template<typename T >
GenericObject< Const, ValueT >::RAPIDJSON_DISABLEIF_RETURN ( (internal::OrExpr< internal::IsPointer< T >, internal::IsGenericValue< T > >)  ,
(ValueType &)   
) &

◆ RemoveAllMembers()

template<bool Const, typename ValueT >
void GenericObject< Const, ValueT >::RemoveAllMembers ( )
inline

Definition at line 2546 of file document.h.

◆ RemoveMember() [1/3]

template<bool Const, typename ValueT >
bool GenericObject< Const, ValueT >::RemoveMember ( const Ch name) const
inline

Definition at line 2547 of file document.h.

◆ RemoveMember() [2/3]

template<bool Const, typename ValueT >
template<typename SourceAllocator >
bool GenericObject< Const, ValueT >::RemoveMember ( const GenericValue< EncodingType, SourceAllocator > &  name) const
inline

Definition at line 2551 of file document.h.

◆ RemoveMember() [3/3]

template<bool Const, typename ValueT >
MemberIterator GenericObject< Const, ValueT >::RemoveMember ( MemberIterator  m) const
inline

Definition at line 2552 of file document.h.

Friends And Related Function Documentation

◆ GenericValue

template<bool Const, typename ValueT >
template<typename , typename >
friend class GenericValue
friend

Definition at line 2506 of file document.h.

Member Data Documentation

◆ allocator

template<bool Const, typename ValueT >
T AllocatorType &const GenericObject< Const, ValueT >::allocator { value_.AddMember(name, value, allocator)

Definition at line 2536 of file document.h.

◆ this

template<bool Const, typename ValueT >
return * GenericObject< Const, ValueT >::this

Definition at line 2536 of file document.h.

◆ value

template<bool Const, typename ValueT >
T GenericObject< Const, ValueT >::value

Definition at line 2536 of file document.h.


The documentation for this class was generated from the following file: