SetImpl< SET > Class Template Reference Data Structures

#include <set.h>

Public Types

using  SetType = typename std::decay< SET >::type
using  ValueType = typename SetType::ValueType
using  Super = typename std::conditional< CONSTSET ||! REFERENCE , SetInterface < ValueType >, NonConstSet < ValueType > >::type
using  接口 = typename Super::Interface
using  Iterator = typename Interface::Iterator
using  ConstIterator = typename Interface::ConstIterator

公共成员函数

  MAXON_IMPLEMENTATION_SIMPLE ( SetImpl , typename)
  SetImpl ()
  SetImpl (SET &&set)
  SetImpl ( SetImpl && src )
Int   GetCount () const
Bool   Contains (const ValueType &value) const
Result < void >  Insert (const ValueType &value, Bool &added= BoolLValue ())
Result < void >  Insert ( ValueType &&value, Bool &added= BoolLValue ())
Result < Bool Erase (const ValueType &value)
Iterator   Erase (const Iterator &iterator)
Result < void >  CopyFrom (const 接口 &other)
Result < 接口 * >  Clone ( Bool cloneElements) const
String   ToString (const FormatStatement *formatStatement=nullptr) const
Int   GetMemorySize () const
const DataType GetValueDataType () const
void  重置 ()
void  Flush ()
void  IteratorInit ( Iterator *it, Bool end )
void  IteratorInit ( ConstIterator *it, Bool end ) const
void  IteratorInitMove ( Iterator *dest, Iterator * src ) const
void  IteratorInitMove ( ConstIterator *dest, ConstIterator * src ) const
void  IteratorFree ( Iterator *it) const
void  IteratorFree ( ConstIterator *it) const
Bool   IteratorIsEqual (const Iterator *a, const Iterator *b) const
Bool   IteratorIsEqual (const ConstIterator *a, const ConstIterator *b) const
void  IteratorInc ( Iterator *it) const
void  IteratorInc ( ConstIterator *it) const
const ValueType IteratorGet (const Iterator *it) const
const ValueType IteratorGet (const ConstIterator *it) const
std::add_lvalue_reference< SET >::type  GetSet ()
const SetType GetSet () const

静态公共属性

static const Bool   CONSTSET
static const Bool   REFERENCE

私有成员函数

  MAXON_DISALLOW_COPY_AND_ASSIGN ( SetImpl )

Static Private Member Functions

static SetType::Iterator &  GetIterator ( Iterator *it)
static SetType::ConstIterator &  GetIterator ( ConstIterator *it)
static const SetType::Iterator &  GetIterator (const Iterator *it)
static const SetType::ConstIterator &  GetIterator (const ConstIterator *it)

Private Attributes

SET  _set

Member Typedef Documentation

◆  SetType

using SetType = typename std::decay<SET>::type

◆  ValueType

using ValueType = typename SetType::ValueType

◆  Super

using Super = typename std::conditional< CONSTSET || ! REFERENCE , SetInterface < ValueType >, NonConstSet < ValueType > >::type

◆  接口

using 接口 = typename Super::Interface

◆  Iterator

using Iterator = typename Interface::Iterator

◆  ConstIterator

using ConstIterator = typename Interface::ConstIterator

构造函数 & 析构函数文档编制

◆  SetImpl() [1/3]

SetImpl ( )

◆  SetImpl() [2/3]

SetImpl ( SET &&  set )
explicit

◆  SetImpl() [3/3]

SetImpl ( SetImpl < SET > &&  src )

成员函数文档编制

◆  MAXON_IMPLEMENTATION_SIMPLE()

MAXON_IMPLEMENTATION_SIMPLE ( SetImpl < SET >  ,
typename   
)

◆  GetCount()

Int GetCount ( ) const

◆  Contains()

Bool Contains ( const ValueType value ) const

◆  Insert() [1/2]

Result <void> Insert ( const ValueType value ,
Bool added = BoolLValue()  
)

◆  Insert() [2/2]

Result <void> Insert ( ValueType &&  value ,
Bool added = BoolLValue()  
)

◆  Erase() [1/2]

Result < Bool > Erase ( const ValueType value )

◆  Erase() [2/2]

Iterator Erase ( const Iterator iterator )

◆  CopyFrom()

Result <void> CopyFrom ( const 接口 other )

◆  Clone()

Result < 接口 *> Clone ( Bool   cloneElements ) const

◆  ToString()

String ToString ( const FormatStatement formatStatement = nullptr ) const

◆  GetMemorySize()

Int GetMemorySize ( ) const

◆  GetValueDataType()

const DataType & GetValueDataType ( ) const

◆  Reset()

void Reset ( )

◆  Flush()

void Flush ( )

◆  IteratorInit() [1/2]

void IteratorInit ( Iterator it ,
Bool   end  
)

◆  IteratorInit() [2/2]

void IteratorInit ( ConstIterator it ,
Bool   end  
) const

◆  IteratorInitMove() [1/2]

void IteratorInitMove ( Iterator dest ,
Iterator src  
) const

◆  IteratorInitMove() [2/2]

void IteratorInitMove ( ConstIterator dest ,
ConstIterator src  
) const

◆  IteratorFree() [1/2]

void IteratorFree ( Iterator it ) const

◆  IteratorFree() [2/2]

void IteratorFree ( ConstIterator it ) const

◆  IteratorIsEqual() [1/2]

Bool IteratorIsEqual ( const Iterator a ,
const Iterator b  
) const

◆  IteratorIsEqual() [2/2]

Bool IteratorIsEqual ( const ConstIterator a ,
const ConstIterator b  
) const

◆  IteratorInc() [1/2]

void IteratorInc ( Iterator it ) const

◆  IteratorInc() [2/2]

void IteratorInc ( ConstIterator it ) const

◆  IteratorGet() [1/2]

const ValueType * IteratorGet ( const Iterator it ) const

◆  IteratorGet() [2/2]

const ValueType * IteratorGet ( const ConstIterator it ) const

◆  GetSet() [1/2]

std::add_lvalue_reference<SET>::type GetSet ( )

◆  GetSet() [2/2]

const SetType & GetSet ( ) const

◆  GetIterator() [1/4]

static SetType::Iterator& GetIterator ( Iterator it )
static private

◆  GetIterator() [2/4]

static SetType::ConstIterator& GetIterator ( ConstIterator it )
static private

◆  GetIterator() [3/4]

static const SetType::Iterator& GetIterator ( const Iterator it )
static private

◆  GetIterator() [4/4]

static const SetType::ConstIterator& GetIterator ( const ConstIterator it )
static private

◆  MAXON_DISALLOW_COPY_AND_ASSIGN()

MAXON_DISALLOW_COPY_AND_ASSIGN ( SetImpl < SET >  )
private

Member Data Documentation

◆  CONSTSET

const Bool CONSTSET static

◆  REFERENCE

const Bool REFERENCE static

◆  _set

SET _set private