Open Search
    SetBase0< COLLECTION, VALUETYPE, SUPER, HASH > Class Template Reference

    #include <collection.h>

    Inheritance diagram for SetBase0< COLLECTION, VALUETYPE, SUPER, HASH >:

    Public Types

    using SetType = COLLECTION
     
    - Public Types inherited from Collection< COLLECTION, VALUETYPE, SUPER >
    using Super = BaseCollection< COLLECTION, SUPER >
     
    using ValueType = VALUETYPE
     
    - Public Types inherited from BaseCollection< COLLECTION, SUPER >
    using IsCollection = std::true_type
     
    using IsBaseArray = std::false_type
     

    Public Member Functions

    template<typename... ARGS>
    MAXON_ATTRIBUTE_FORCE_INLINE SetBase0 (ARGS &&... args)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ResultRef< const VALUETYPEAppend (typename ByValueParam< VALUETYPE >::type v)
     
    template<typename COLLECTION2 >
    Bool ContainsAllImpl (COLLECTION2 &&other, OverloadRank0) const
     
    template<typename COLLECTION2 >
    MAXON_ATTRIBUTE_FORCE_INLINE Result< void > Add (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY)
     
    template<typename COLLECTION2 >
    MAXON_ATTRIBUTE_FORCE_INLINE Result< void > AppendAll (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY)
     
    template<typename COLLECTION2 >
    MAXON_ATTRIBUTE_FORCE_INLINE Result< void > CopyFrom (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::FIT_TO_SIZE)
     
    template<typename COLLECTION2 >
    Result< void > SubtractImpl (COLLECTION2 &&other, OverloadRank0)
     
    template<typename COLLECTION2 , typename COMPARE >
    Bool IsEqualImpl (const COLLECTION2 &other, COMPARE &&cmp, OverloadRank0) const
     
    HashInt GetHashCode () const
     
    UniqueHash GetUniqueHashCode () const
     
    - Public Member Functions inherited from Collection< COLLECTION, VALUETYPE, SUPER >
    template<typename... ARGS>
    MAXON_ATTRIBUTE_FORCE_INLINE Collection (ARGS &&... args)
     
    ResultOk< void > VariadicAppend ()
     
    template<typename V , typename... VALUES>
    Result< void > VariadicAppend (V &&value, VALUES &&... rest)
     
     operator ValueReceiver< const VALUETYPE & > ()
     
     operator ValueReceiver< VALUETYPE && > ()
     
     operator ValueReceiver< typename std::conditional< STD_IS_REPLACEMENT (scalar, VALUETYPE)
     
    DummyParamType & type ()
     
    template<typename FN >
    Result< BoolForEach (FN &&callback) const
     
    template<typename FN >
    Result< BoolForEach (FN &&callback)
     
    template<typename H = COLLECTION>
    H::Iterator Find (typename ByValueParam< VALUETYPE >::type v)
     
    template<typename H = COLLECTION>
    H::ConstIterator Find (typename ByValueParam< VALUETYPE >::type v) const
     
    Int FindIndex (typename ByValueParam< VALUETYPE >::type v) const
     
    MAXON_ATTRIBUTE_FORCE_INLINE Bool Contains (typename ByValueParam< VALUETYPE >::type v) const
     
    - Public Member Functions inherited from BaseCollection< COLLECTION, SUPER >
    template<typename... ARGS>
    MAXON_ATTRIBUTE_FORCE_INLINE BaseCollection (ARGS &&... args)
     
    template<typename COLLECTION2 >
    MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< maxon::IsCollection< COLLECTION2 >::value, Bool >::type operator== (const COLLECTION2 &other) const
     
    template<typename COLLECTION2 >
    MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< maxon::IsCollection< COLLECTION2 >::value, Bool >::type operator!= (const COLLECTION2 &other) const
     
    template<typename COMPARE = EqualityCompare, typename COLLECTION2 >
    MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< maxon::IsCollection< COLLECTION2 >::value &&!STD_IS_REPLACEMENT(same, typename std::decay< COMPARE >::type, EQUALITY), Bool >::type IsEqual (const COLLECTION2 &other, COMPARE &&cmp=COMPARE()) const
     
    template<typename COLLECTION2 >
    MAXON_ATTRIBUTE_FORCE_INLINE Result< void > AppendAll (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY)
     
    template<typename COLLECTION2 >
    MAXON_ATTRIBUTE_FORCE_INLINE Result< void > CopyFrom (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::FIT_TO_SIZE)
     
    template<typename COLLECTION2 >
    MAXON_ATTRIBUTE_FORCE_INLINE Result< void > Subtract (COLLECTION2 &&other)
     
    template<typename COLLECTION2 >
    MAXON_ATTRIBUTE_FORCE_INLINE Result< void > Intersect (const COLLECTION2 &other)
     
    template<typename COLLECTION2 >
    Bool Intersects (const COLLECTION2 &other) const
     
    template<typename COLLECTION2 >
    MAXON_ATTRIBUTE_FORCE_INLINE Result< void > CopyFromImpl (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags, OverloadRank0)
     
    template<typename COLLECTION2 >
    Result< void > AppendAllImpl (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags, Bool overwrite, OverloadRank0)
     
    template<typename COLLECTION2 >
    Result< void > IntersectImpl (COLLECTION2 &&other, OverloadRank0)
     
    MAXON_ATTRIBUTE_FORCE_INLINE Bool IsEmpty () const
     
    MAXON_ATTRIBUTE_FORCE_INLINE Bool IsPopulated () const
     
    String ToString (const FormatStatement *formatStatement=nullptr) const
     
    template<typename COLLECTION2 >
    MAXON_ATTRIBUTE_FORCE_INLINE Bool ContainsAll (COLLECTION2 &&other) const
     
    template<typename COLLECTION2 >
    Bool ContainsAllImpl (COLLECTION2 &&other, OverloadRank0) const
     

    Static Public Attributes

    static const COLLECTION_KIND KIND
     

    Private Types

    using Super = Collection< COLLECTION, VALUETYPE, SUPER >
     

    Additional Inherited Members

    - Static Public Member Functions inherited from Collection< COLLECTION, VALUETYPE, SUPER >
    static const VALUETYPEGetMapKey (const VALUETYPE &key)
     
    - Public Attributes inherited from Collection< COLLECTION, VALUETYPE, SUPER >
     VALUETYPE
     

    Member Typedef Documentation

    ◆ Super

    using Super = Collection<COLLECTION, VALUETYPE, SUPER>
    private

    ◆ SetType

    using SetType = COLLECTION

    Constructor & Destructor Documentation

    ◆ SetBase0()

    MAXON_ATTRIBUTE_FORCE_INLINE SetBase0 ( ARGS &&...  args)
    explicit

    Member Function Documentation

    ◆ Append()

    Adds v to this set. This forwards to the Insert function of the collection. It unifies the addition of elements to array- and set-like collections as the former already have an Append function, while the latter only have an Insert function.

    Parameters
    [in]vThe value to add to this collection.
    Returns
    Pointer to the value in the set, or nullptr if the element had to be added, but the allocation failed.

    ◆ ContainsAllImpl()

    Bool ContainsAllImpl ( COLLECTION2 &&  other,
    OverloadRank0   
    ) const

    Returns true if this collection contains all elements from another collection other, i.e., if this collection is a superset of other.

    Parameters
    [in]otherAnother collection, may be any iterable object.
    Returns
    True if this collection contains all elements from other, false otherwise.

    ◆ Add()

    Adds all elements from another collection other to this set. If this doesn't succeed for all entries, the set will be left in a valid, but intermediate state with only some entries from other added.

    Parameters
    [in]otherAnother collection, may be any iterable object.
    [in]resizeFlagsIf ON_GROW_FIT_TO_SIZE is set, the collection will use only as much memory as needed to hold the data.
    Returns
    OK on success.

    ◆ AppendAll()

    Adds all elements from another collection other to this set. If this doesn't succeed for all entries, the set will be left in a valid, but intermediate state with only some entries from other added.

    Parameters
    [in]otherAnother collection, may be any iterable object.
    [in]resizeFlagsIf ON_GROW_FIT_TO_SIZE is set, the collection will use only as much memory as needed to hold the data.
    Returns
    OK on success.

    ◆ CopyFrom()

    MAXON_ATTRIBUTE_FORCE_INLINE Result<void> CopyFrom ( COLLECTION2 &&  other,
    COLLECTION_RESIZE_FLAGS  resizeFlags = COLLECTION_RESIZE_FLAGS::FIT_TO_SIZE 
    )

    Makes this set a copy of other. If copying doesn't succeed for all entries, the set will be left in a valid, but intermediate state with only some entries from other added.

    Parameters
    [in]otherAnother collection, may be any iterable object.
    [in]resizeFlagsIf ON_GROW_FIT_TO_SIZE is set, the collection will use only as much memory as needed to hold the data.
    Returns
    OK on success.

    ◆ SubtractImpl()

    Result<void> SubtractImpl ( COLLECTION2 &&  other,
    OverloadRank0   
    )

    ◆ IsEqualImpl()

    Bool IsEqualImpl ( const COLLECTION2 &  other,
    COMPARE &&  cmp,
    OverloadRank0   
    ) const

    ◆ GetHashCode()

    HashInt GetHashCode ( ) const

    ◆ GetUniqueHashCode()

    UniqueHash GetUniqueHashCode ( ) const

    Member Data Documentation

    ◆ KIND

    const COLLECTION_KIND KIND
    static