boolVector Class Reference

Specialized bundling of boolean values as a vector of 3 components, element access using x(), y() and z() member functions. It also has some methods similar to bitSet. More...

Inheritance diagram for boolVector:
Collaboration diagram for boolVector:

Public Types

enum  components { X, Y, Z }
 Component labeling enumeration. More...
 
typedef bool cmptType
 The component type is bool. More...
 
- Public Types inherited from FixedList< bool, 3 >
typedef bool value_type
 The value type the FixedList contains. More...
 
typedef bool * pointer
 The pointer type for non-const access to value_type items. More...
 
typedef const bool * const_pointer
 The pointer type for const access to value_type items. More...
 
typedef bool & reference
 The type used for storing into value_type objects. More...
 
typedef const bool & const_reference
 The type used for reading from constant value_type objects. More...
 
typedef bool * iterator
 Random access iterator for traversing FixedList. More...
 
typedef const bool * const_iterator
 Random access iterator for traversing FixedList. More...
 
typedef label size_type
 The type to represent the size of a FixedList. More...
 
typedef label difference_type
 The difference between iterator objects. More...
 
typedef std::reverse_iterator< iteratorreverse_iterator
 Reverse iterator (non-const access) More...
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 Reverse iterator (const access) More...
 

Public Member Functions

 boolVector (const boolVector &)=default
 Copy construct. More...
 
boolVectoroperator= (const boolVector &)=default
 Copy assignment. More...
 
 boolVector (boolVector &&)=default
 Move construct. More...
 
boolVectoroperator= (boolVector &&)=default
 Move assignment. More...
 
void front ()=delete
 The front() accessor (from FixedList) has no purpose. More...
 
void back ()=delete
 The back() accessor (from FixedList) has no purpose. More...
 
 boolVector ()
 Default construct, zero-initialized (ie, false) More...
 
 boolVector (const bool val)
 Uniform construct with specified value. More...
 
 boolVector (const bool vx, const bool vy, const bool vz)
 Construct from three components. More...
 
 boolVector (Istream &is)
 Construct from Istream. More...
 
bool all () const noexcept
 True if all components are set. More...
 
bool any () const noexcept
 True if any components are set. More...
 
bool none () const noexcept
 True if no components are set. More...
 
unsigned int count (const bool on=true) const
 Count number of items set. More...
 
bool x () const noexcept
 The x component. More...
 
bool y () const noexcept
 The y component. More...
 
bool z () const noexcept
 The z component. More...
 
bool & x () noexcept
 The x component. More...
 
bool & y () noexcept
 The y component. More...
 
bool & z () noexcept
 The z component. More...
 
void flip ()
 Invert all values. More...
 
void operator= (const bool value)
 Assignment of all entries to the given value. More...
 
- Public Member Functions inherited from FixedList< bool, 3 >
void writeEntry (const word &keyword, Ostream &os) const
 Write the list as a dictionary entry with keyword. More...
 
 FixedList ()=default
 Default construct. More...
 
 FixedList (const bool &val)
 Construct and initialize all entries to given value. More...
 
 FixedList (const Foam::zero)
 Construct and initialize all entries to zero. More...
 
 FixedList (const FixedList< bool, N > &list)
 Copy construct. More...
 
 FixedList (FixedList< bool, N > &&list)
 Move construct by using move assignment for the individual list elements. More...
 
 FixedList (std::initializer_list< bool > list)
 Construct from an initializer list. Runtime size check. More...
 
 FixedList (const UList< bool > &list)
 Construct from UList. Runtime size check. More...
 
 FixedList (const FixedList< bool, AnyNum > &list, const FixedList< label, N > &indices)
 Copy construct from a subset of the input. No size check. More...
 
 FixedList (const UList< bool > &list, const FixedList< label, N > &indices)
 Copy construct from a subset of the input. No size check. More...
 
 FixedList (Istream &is)
 Construct from Istream. More...
 
 FixedList (const bool list[N])
 Deprecated: copy construct from C-array. More...
 
autoPtr< FixedList< bool, N > > clone () const
 Clone. More...
 
const bool * cdata () const noexcept
 Return pointer to the underlying array serving as data storage. More...
 
bool * data () noexcept
 Return pointer to the underlying array serving as data storage. More...
 
const char * cdata_bytes () const noexcept
 Return pointer to the underlying array serving as data storage,. More...
 
char * data_bytes () noexcept
 Return pointer to the underlying array serving as data storage,. More...
 
bool & get () noexcept
 Element access using compile-time indexing. More...
 
const bool & get () const noexcept
 Element access using compile-time indexing. More...
 
bool & front () noexcept
 Access first element of the list, position [0]. More...
 
const bool & front () const noexcept
 Access first element of the list, position [0]. More...
 
bool & back () noexcept
 Access last element of the list, position [N-1]. More...
 
const bool & back () const noexcept
 Access last element of the list, position [N-1]. More...
 
label fcIndex (const label i) const noexcept
 Return the forward circular index, i.e. next index which returns to the first at the end of the list. More...
 
const bool & fcValue (const label i) const
 Return forward circular value (ie, next value in the list) More...
 
bool & fcValue (const label i)
 Return forward circular value (ie, next value in the list) More...
 
label rcIndex (const label i) const noexcept
 Return the reverse circular index, i.e. previous index which returns to the last at the beginning of the list. More...
 
const bool & rcValue (const label i) const
 Return reverse circular value (ie, previous value in the list) More...
 
bool & rcValue (const label i)
 Return reverse circular value (ie, previous value in the list) More...
 
void checkStart (const label start) const
 Check start is within valid range [0,size) More...
 
void checkSize (const label size) const
 Check size is identical to template parameter N. More...
 
void checkIndex (const label i) const
 Check index is within valid range [0,N) More...
 
bool uniform () const
 True if all entries have identical values, and list is non-empty. More...
 
bool contains (const bool &val) const
 True if the value is contained in the list. More...
 
bool contains (const bool &val, label pos, label len=-1) const
 Is the value contained in the list? More...
 
label find (const bool &val) const
 Find index of the first occurrence of the value. More...
 
label find (const bool &val, label pos, label len=-1) const
 Find index of the first occurrence of the value. More...
 
label rfind (const bool &val, label pos=-1) const
 Find index of the last occurrence of the value. More...
 
void resize (const label n)
 Dummy function, to make FixedList consistent with List Any resizing is ignored (Fatal with bad sizing in full debug). More...
 
void resize_fill (const label n, const bool &val)
 Set val for all elements. Any resizing is ignored (Fatal with bad sizing in full debug). More...
 
void resize_nocopy (const label n)
 Dummy function, to make FixedList consistent with List Any resizing is ignored (Fatal with bad sizing in full debug). More...
 
void setSize (const label n)
 Dummy function, to make FixedList consistent with List. More...
 
void fill (const bool &val)
 Assign all entries to the given value. More...
 
void fill (const Foam::zero)
 Assign all entries to zero. More...
 
void moveFirst (const label i)
 Move element to the first position. More...
 
void moveLast (const label i)
 Move element to the last position. More...
 
void swapFirst (const label i)
 Swap element with the first element. More...
 
void swapLast (const label i)
 Swap element with the last element. More...
 
void transfer (FixedList< bool, N > &list)
 Transfer by swapping using a move assignment for the content of the individual list elements. More...
 
bool & operator[] (const label i)
 Return element of FixedList. More...
 
const bool & operator[] (const label i) const
 Return element of constant FixedList. More...
 
void operator= (const UList< bool > &list)
 Assignment to UList operator. Takes linear time. More...
 
void operator= (std::initializer_list< bool > list)
 Assignment to an initializer list. Takes linear time. More...
 
void operator= (const bool &val)
 Assign all entries to the given value. fill() More...
 
void operator= (const Foam::zero)
 Assign all entries to zero. fill() More...
 
void operator= (const FixedList< bool, N > &list)
 Copy assignment. More...
 
void operator= (FixedList< bool, N > &&list)
 Move assignment. More...
 
void operator= (const bool list[N])
 Deprecated: assignment from C-array. More...
 
iterator begin () noexcept
 Return an iterator to begin traversing the FixedList. More...
 
const_iterator begin () const noexcept
 Return const_iterator to begin traversing the constant FixedList. More...
 
iterator end () noexcept
 Return an iterator to end traversing the FixedList. More...
 
const_iterator end () const noexcept
 Return const_iterator to end traversing the constant FixedList. More...
 
const_iterator cbegin () const noexcept
 Return const_iterator to begin traversing the constant FixedList. More...
 
const_iterator cend () const noexcept
 Return const_iterator to end traversing the constant FixedList. More...
 
reverse_iterator rbegin ()
 Return reverse_iterator to begin reverse traversing the FixedList. More...
 
const_reverse_iterator rbegin () const
 Return const_reverse_iterator to begin reverse traversing FixedList. More...
 
reverse_iterator rend ()
 Return reverse_iterator to end reverse traversing the FixedList. More...
 
const_reverse_iterator rend () const
 Return const_reverse_iterator to end reverse traversing FixedList. More...
 
const_reverse_iterator crbegin () const
 Return const_reverse_iterator to begin reverse traversing FixedList. More...
 
const_reverse_iterator crend () const
 Return const_reverse_iterator to end reverse traversing FixedList. More...
 
void swap (FixedList< bool, N > &other)
 Swap lists by swapping the content of the individual list elements. More...
 
bool operator== (const FixedList< bool, N > &list) const
 Equality operation on FixedLists of the same type. More...
 
bool operator!= (const FixedList< bool, N > &list) const
 The opposite of the equality operation. Takes linear time. More...
 
bool operator< (const FixedList< bool, N > &list) const
 Compare two FixedLists lexicographically. Takes linear time. More...
 
bool operator> (const FixedList< bool, N > &list) const
 Compare two FixedLists lexicographically. Takes linear time. More...
 
bool operator<= (const FixedList< bool, N > &list) const
 Return true if !(a > b). Takes linear time. More...
 
bool operator>= (const FixedList< bool, N > &list) const
 Return true if !(a < b). Takes linear time. More...
 
IstreamreadList (Istream &is)
 Read from Istream, discarding contents of existing List. More...
 
OstreamwriteList (Ostream &os, const label shortLen=0) const
 Write List, with line-breaks in ASCII when length exceeds shortLen. More...
 
bool & first () noexcept
 Access first element of the list, position [0] - front() More...
 
const bool & first () const noexcept
 Access first element of the list, position [0] - front() More...
 
bool & last () noexcept
 Access last element of the list, position [N-1] - back() More...
 
const bool & last () const noexcept
 Access last element of the list, position [N-1] - back() More...
 
bool found (const bool &val, label pos=0) const
 Same as contains() More...
 

Static Public Attributes

static constexpr direction rank = 1
 Rank of a vector is 1. More...
 
static constexpr direction nComponents = 3
 Number of components in this vector space. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from FixedList< bool, 3 >
static const FixedList< bool, N > & null ()
 Return a null FixedList. More...
 
static std::streamsize size_bytes () noexcept
 Number of contiguous bytes for the list data,. More...
 
static std::streamsize byteSize ()
 Number of contiguous bytes for the list data, runtime FatalError if type is not contiguous. More...
 
static constexpr bool empty () noexcept
 Always false since zero-sized FixedList is compile-time disabled. More...
 
static constexpr label size () noexcept
 Return the number of elements in the FixedList. More...
 
static constexpr unsigned max_size () noexcept
 The dimensioned size (template parameter N) of the FixedList. More...
 
- Protected Member Functions inherited from FixedList< bool, 3 >
void writeEntry (Ostream &os) const
 Write the FixedList with its compound type. More...
 

Detailed Description

Specialized bundling of boolean values as a vector of 3 components, element access using x(), y() and z() member functions. It also has some methods similar to bitSet.

Note
The boolVector is not derived from Vector or VectorSpace since it does not share very many vector-like characteristics.
Source files

Definition at line 52 of file boolVector.H.

Member Typedef Documentation

◆ cmptType

typedef bool cmptType

The component type is bool.

Definition at line 63 of file boolVector.H.

Member Enumeration Documentation

◆ components

enum components

Component labeling enumeration.

Enumerator

Definition at line 81 of file boolVector.H.

Constructor & Destructor Documentation

◆ boolVector() [1/6]

boolVector ( const boolVector )
default

Copy construct.

◆ boolVector() [2/6]

boolVector ( boolVector &&  )
default

Move construct.

◆ boolVector() [3/6]

boolVector ( )
inline

Default construct, zero-initialized (ie, false)

Definition at line 23 of file boolVectorI.H.

◆ boolVector() [4/6]

boolVector ( const bool  val)
inlineexplicit

Uniform construct with specified value.

Definition at line 29 of file boolVectorI.H.

◆ boolVector() [5/6]

boolVector ( const bool  vx,
const bool  vy,
const bool  vz 
)
inline

Construct from three components.

Definition at line 36 of file boolVectorI.H.

References x, and y.

◆ boolVector() [6/6]

boolVector ( Istream is)
inlineexplicit

Construct from Istream.

Definition at line 48 of file boolVectorI.H.

Member Function Documentation

◆ operator=() [1/3]

boolVector& operator= ( const boolVector )
default

Copy assignment.

◆ operator=() [2/3]

boolVector& operator= ( boolVector &&  )
default

Move assignment.

◆ front()

void front ( )
delete

The front() accessor (from FixedList) has no purpose.

◆ back()

void back ( )
delete

The back() accessor (from FixedList) has no purpose.

◆ all()

bool all ( ) const
inlinenoexcept

True if all components are set.

Note
Method name compatibility with bitSet

Definition at line 56 of file boolVectorI.H.

References x, and y.

◆ any()

bool any ( ) const
inlinenoexcept

True if any components are set.

Note
Method name compatibility with bitSet

Definition at line 62 of file boolVectorI.H.

References x, and y.

◆ none()

bool none ( ) const
inlinenoexcept

True if no components are set.

Note
Method name compatibility with bitSet

Definition at line 68 of file boolVectorI.H.

References Foam::BitOps::any().

Here is the call graph for this function:

◆ count()

unsigned int count ( const bool  on = true) const
inline

Count number of items set.

Parameters
oncan be set to false to count the number of unset bits instead.
Note
Method name compatibility with bitSet

Definition at line 74 of file boolVectorI.H.

◆ x() [1/2]

bool x ( ) const
inlinenoexcept

The x component.

Definition at line 184 of file boolVector.H.

Referenced by NURBS3DVolume::confineControlPoint().

Here is the caller graph for this function:

◆ y() [1/2]

bool y ( ) const
inlinenoexcept

The y component.

Definition at line 189 of file boolVector.H.

Referenced by NURBS3DVolume::confineControlPoint().

Here is the caller graph for this function:

◆ z() [1/2]

bool z ( ) const
inlinenoexcept

The z component.

Definition at line 194 of file boolVector.H.

Referenced by NURBS3DVolume::confineControlPoint().

Here is the caller graph for this function:

◆ x() [2/2]

bool& x ( )
inlinenoexcept

The x component.

Definition at line 199 of file boolVector.H.

◆ y() [2/2]

bool& y ( )
inlinenoexcept

The y component.

Definition at line 204 of file boolVector.H.

◆ z() [2/2]

bool& z ( )
inlinenoexcept

The z component.

Definition at line 209 of file boolVector.H.

◆ flip()

void flip ( )
inline

Invert all values.

Note
Method name compatibility with bitSet

Definition at line 93 of file boolVectorI.H.

References x, and y.

◆ operator=() [3/3]

void operator= ( const bool  value)
inline

Assignment of all entries to the given value.

Definition at line 103 of file boolVectorI.H.

References FixedList< T, N >::operator=().

Here is the call graph for this function:

Member Data Documentation

◆ rank

constexpr direction rank = 1
static

Rank of a vector is 1.

Definition at line 71 of file boolVector.H.

◆ nComponents

constexpr direction nComponents = 3
static

Number of components in this vector space.

Definition at line 76 of file boolVector.H.


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