Graphisoft®

GSRootVersion: 1.0

GS Namespace

This namespace contains the base infrastructure: Object root class, containers, strings, serialization, event sources / observers etc.

Algorithms
Containers
Events
Iterators
Object
Serialization
Text
Utility classes functions

Object

Class Description
Object Root class.

Serialization

Class Description
IChannel Sequential data source (input).
OChannel Sequential data destination (output).
IProtocol Type composer interface used during serialization.
OProtocol Type decomposer interface used during serialization.

Containers

Class Description
Container Root class of all container classes.
RandomContainer Base class of random accessible containers.
Array Random container using one continuous reallocating buffer.
ArrayFB Array with built-in initial buffer of fixed size.
PagedArray Random container using separate memory pages without reallocation.
StableArray Random container that holds addresses of items unchanged.
AssociativeContainer Base class of associative containers.
HashTable Associative container using hashing method.

Iterators

Class Description
IteratorBase Root class of all iterator classes.
ForwardIterator Iterator for forward enumeration of sequence of items.
BidirectionalIterator Iterator for bidirectional enumeration of sequence of items.
RandomIterator Iterator for random enumeration of sequence of items.
ConstForwardIterator Iterator for forward enumeration of sequence of constant items.
ConstBidirectionalIterator Iterator for bidirectional enumeration of sequence of constant items.
ConstRandomIterator Iterator for random enumeration of sequence of constant items.

Algorithms

Function Description
Abs Calculates the absolute value.
AdjacentFind Searches for two adjacent elements that are either equal or satisfy a specified condition.
BinarySearch Tests whether there is an element in a sorted range that is equal to a specified value or that is equivalent to it in a sense specified by a binary predicate.
Copy Assigns the values of elements from a source range to a destination range, iterating through the source sequence of elements and assigning them new positions in a forward direction.
CopyBackward Assigns the values of elements from a source range to a destination range, iterating through the source sequence of elements and assigning them new positions in a backward direction.
CopyIf Assigns the values of elements from a source range to a destination range whose values satisfy a specified condition, iterating through the source sequence of elements and assigning them new positions in a forward direction.
CopyIfBackward Assigns the values of elements from a source range to a destination range, iterating through the source sequence of elements and assigning them new positions in a backward direction.
Count Returns the number of elements in a range whose values match a specified value.
CountIf Returns the number of elements in a range whose values satisfy a specified condition.
CutToMax Cuts the first parameter to an upper bound.
CutToMin Cuts the first parameter to a lower bound.
CutToRange Cuts the first parameter to a range.
EqualRange Finds a pair of positions in an ordered range, the first less than or equivalent to the position of a specified element and the second greater than the element's position, where the sense of equivalence or ordering used to establish the positions in the sequence may be specified by a binary predicate.
Fill Assigns the same new value to every element in a specified range.
FillN Assigns a new value to a specified number of elements in a range beginning with a particular element.
Find Locates the position of the first occurrence of an element in a range that has a specified value.
FindEnd Looks in a range for the last subsequence that is identical to a specified sequence or that is equivalent in a sense specified by a binary predicate.
FindFirstOf Searches for the first occurrence of any of several values within a target range or for the first occurrence of any of several elements that are equivalent in a sense specified by a binary predicate to a specified set of the elements.
FindIf Locates the position of the first occurrence of an element in a range that satisfies a specified condition.
ForEach Applies a specified predicate to each element in a forward order within a range and returns the predicate.
Generate Assigns the values generated by a predicate to each element in a range.
GenerateN Assigns the values generated by a function object to a specified number of element in a range and returns to the position one past the last assigned value.
Includes Tests whether one sorted range contains all the elements contained in a second sorted range, where the ordering or equivalence criterion between elements may be specified by a binary predicate.
InplaceMerge Combines the elements from two consecutive sorted ranges into a single sorted range, where the ordering criterion may be specified by a binary predicate.
IsBetween Returns whether is the given value in a specified range.
IsEqual Compares two ranges element by element either for equality or equivalence in a sense specified by a binary predicate.
IterSwap Exchanges two values referred to by a pair of specified iterators.
LexicographicalCompare Compares element by element between two sequences to determine which is lesser of the two.
LowerBound Finds the position where the first element in an ordered range is or would be if it had a value that is less than or equivalent to a specified value, where the sense of equivalence may be specified by a binary predicate.
MakeHeap Converts elements from a specified range into a heap in which the first element is the largest and for which a sorting criterion may be specified with a binary predicate.
Max Compares two objects and returns the larger of the two, where the ordering criterion may be specified by a binary predicate.
MaxElement Finds the first occurrence of largest element in a specified range where the ordering criterion may be specified by a binary predicate.
Merge Combines all of the elements from two sorted source ranges into a single, sorted destination range, where the ordering criterion may be specified by a binary predicate.
Min Compares two objects and returns the lesser of the two, where the ordering criterion may be specified by a binary predicate.
MinElement Finds the first occurrence of smallest element in a specified range where the ordering criterion may be specified by a binary predicate.
Mismatch Compares two ranges element by element either for equality or equivalent in a sense specified by a binary predicate and locates the first position where a difference occurs.
NextPermutation Reorders the elements in a range so that the original ordering is replaced by the lexicographically next greater permutation if it exists, where the sense of next may be specified with a binary predicate.
NthElement Partitions a range of elements, correctly locating the Nth element of the sequence in the range so that all the elements in front of it are less than or equal to it and all the elements that follow it in the sequence are greater than or equal to it.
PartialSort Arranges a specified number of the smaller elements in a range into a nondescending order or according to an ordering criterion specified by a binary predicate.
PartialSortCopy Copies elements from a source range into a destination range where the source elements are ordered by either less than or another specified binary predicate.
Partition Classifies elements in a range into two disjoint sets, with those elements satisfying a unary predicate preceding those that fail to satisfy it.
PopHeap Removes the largest element from the front of a heap to the next-to-last position in the range and then forms a new heap from the remaining elements.
PrevPermutation Reorders the elements in a range so that the original ordering is replaced by the lexicographically next greater permutation if it exists, where the sense of next may be specified with a binary predicate.
PushHeap Adds an element that is at the end of a range to an existing heap consisting of the prior elements in the range.
RandomShuffle Rearranges a sequence of N elements in a range into one of N! possible arrangements selected at random.
Remove Eliminates a specified value from a given range without disturbing the order of the remaining elements and returning the end of a new range free of the specified value.
RemoveCopy Copies elements from a source range to a destination range, except that elements of a specified value are not copied, without disturbing the order of the remaining elements and returning the end of a new destination range.
RemoveCopyIf Copies elements from a source range to a destination range, except that satisfying a predicate are not copied, without disturbing the order of the remaining elements and returning the end of a new destination range.
RemoveIf Eliminates elements that satisfy a predicate from a given range without disturbing the order of the remaining elements and returning the end of a new range free of the specified value.
Replace Examines each element in a range and replaces it if it matches a specified value.
ReplaceCopy Examines each element in a source range and replaces it if it matches a specified value while copying the result into a new destination range.
ReplaceCopyIf Examines each element in a source range and replaces it if it satisfies a specified predicate while copying the result into a new destination range.
ReplaceIf Examines each element in a range and replaces it if it satisfies a specified predicate.
Reverse Reverses the order of the elements within a range.
ReverseCopy Reverses the order of the elements within a source range while copying them into a destination range.
Rotate Exchanges the elements in two adjacent ranges.
RotateCopy Exchanges the elements in two adjacent ranges within a source range and copies the result to a destination range.
Search Searches for the first occurrence of a sequence within a target range whose elements are equal to those in a given sequence of elements or whose elements are equivalent in a sense specified by a binary predicate to the elements in the given sequence.
SearchN Searches for the first subsequence in a range that of a specified number of elements having a particular value or a relation to that value as specified by a binary predicate.
SetDifference Unites all of the elements that belong to one sorted source range, but not to a second sorted source range, into a single, sorted destination range, where the ordering criterion may be specified by a binary predicate.
SetIntersection Unites all of the elements that belong to both sorted source ranges into a single, sorted destination range, where the ordering criterion may be specified by a binary predicate.
SetSymmetricDifference Unites all of the elements that belong to one, but not both, of the sorted source ranges into a single, sorted destination range, where the ordering criterion may be specified by a binary predicate.
SetUnion Unites all of the elements that belong to at least one of two sorted source ranges into a single, sorted destination range, where the ordering criterion may be specified by a binary predicate.
Sort Arranges the elements in a specified range into a nondescending order or according to an ordering criterion specified by a binary predicate.
SortHeap Converts a heap into a sorted range.
StablePartition Classifies elements in a range into two disjoint sets, with those elements satisfying a unary predicate preceding those that fail to satisfy it, preserving the relative order of equivalent elements.
StableSort Arranges the elements in a specified range into a nondescending order or according to an ordering criterion specified by a binary predicate and preserves the relative ordering of equivalent elements.
Swap Exhanges content of two variables.
SwapRanges Exchanges the elements of one range with the elements of another, equal sized range.
Transform Applies a specified predicate to each element in a source range or to a pair of elements from two source ranges and copies the return values of the predicate into a destination range.
Unique Removes duplicate elements that are adjacent to each other in a specified range.
UniqueCopy Copies elements from a source range into a destination range except for the duplicate elements that are adjacent to each other.
UpperBound Finds the position of the first element in an ordered range that has a value that is greater than a specified value, where the ordering criterion may be specified by a binary predicate.

Text

Class Description
UniChar Unicode character.
UniString Unicode string.

Events

Class Description
Event Root event class.
EventObserver Root event observer class.
EventSource Root event source class.

Utility classes functions

Class Description
Guid A class that represents a Universally Unique Identifier.
Pair A class that provides for the ability to treat two objects as a single object.
NewPair Creates a new Pair instance.