ALP User Documentation  0.8.preview
Algebraic Programming User Documentation
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12345]
 NgrbThe ALP/GraphBLAS namespace
 NalgorithmsThe namespace for ALP/GraphBLAS algorithms
 NpregelThe namespace for ALP/Pregel algorithms
 CConnectedComponentsA vertex-centric Connected Components algorithm
 CDataThis vertex-centric Connected Components algorithm does not require any algorithm parameters
 CPageRankA Pregel-style PageRank-like algorithm
 CDataThe algorithm parameters
 CmatricesFactories for creating ALP/GraphBLAS matrices with standard patterns such as identity matrices
 Cmatrices< void, mode, backend, RIT, CIT, NIT >Factories for creating ALP/GraphBLAS pattern matrices
 NconfigCompile-time configuration constants as well as implementation details that are derived from such settings
 CANALYTIC_MODELConfiguration parameters relating to the analytic model employed by the nonblocking backend
 CBENCHMARKINGBenchmarking default configuration parameters
 CCACHE_LINE_SIZEContains information about the target architecture cache line size
 CIMPLEMENTATIONCollects a series of implementation choices corresponding to some given backend
 CIMPLEMENTATION< BSP1D >This class collects configuration parameters that are specific to the grb::BSP1D and grb::hybrid backends
 CIMPLEMENTATION< nonblocking >Implementation-dependent configuration parameters for the nonblocking backend
 CIMPLEMENTATION< reference >This class collects configuration parameters that are specific to the grb::reference backend
 CIMPLEMENTATION< reference_omp >This class collects configuration parameters that are specific to the grb::reference_omp backend
 CMEMORYMemory configuration parameters
 CPIPELINEConfiguration parameters relating to the pipeline data structure
 CPREFETCHINGDefault prefetching settings for reference and reference_omp backends
 CSIMD_SIZEThe SIMD size, in bytes
 NidentitiesStandard identities common to many operators
 CinfinityStandard identity for the minimum operator
 Clogical_falseStandard identitity for the logical or operator
 Clogical_trueStandard identity for the logical AND operator
 Cnegative_infinityStandard identity for the maximum operator
 ConeStandard identity for numerical multiplication
 CzeroStandard identity for numerical addition
 NinterfacesThe namespace for programming APIs that automatically translate to ALP/GraphBLAS
 CPregelA Pregel run-time instance
 CPregelStateThe state of the vertex-center Pregel program that the user may interface with
 NoperatorsThis namespace holds various standard operators such as grb::operators::add and grb::operators::mul
 Cabs_diffThis operator returns the absolute difference between two numbers
 CaddThis operator takes the sum of the two input parameters and writes it to the output variable
 Cany_orThis operator is a generalisation of the logical or
 CargmaxThe argmax operator on key-value pairs
 CargminThe argmin operator on key-value pairs
 Cconjugate_left_mulConjugate-multiply operator that conjugates the left-hand operand before multiplication
 Cconjugate_mulConjugate-multiply operator that conjugates the left- or right-hand operand before multiplication
 Cconjugate_right_mulConjugate-multiply operator that conjugates the right-hand operand before multiplication
 CdivideNumerical division of two numbers
 Cdivide_reverseReversed division of two numbers
 CequalOperator which returns true if its inputs compare equal, and false otherwise
 Cequal_firstCompares std::pair inputs taking the first entry in every pair as the comparison key, and returns true or false accordingly
 CgeqThis operation returns whether the left operand compares greater-than or equal to the right operand
 Cgreater_thanThis operation returns whether the left operand compares greater-than the right operand
 Cleft_assignThis operator discards all right-hand side input and simply copies the left-hand side input to the output variable
 Cleft_assign_ifThis operator assigns the left-hand input if the right-hand input evaluates true
 CleqThis operation returns whether the left operand compares less-than or equal to the right operand
 Cless_thanThis operation returns whether the left operand compares less-than the right operand
 Clogical_andThe logical and
 Clogical_orThe logical or
 CmaxThis operator takes the maximum of the two input parameters and writes the result to the output variable
 CminThis operator takes the minimum of the two input parameters and writes the result to the output variable
 CmulThis operator multiplies the two input parameters and writes the result to the output variable
 Cnot_equalOperator that returns false whenever its inputs compare equal, and true otherwise
 CreluThis operation is equivalent to grb::operators::min
 Cright_assignThis operator discards all left-hand side input and simply copies the right-hand side input to the output variable
 Cright_assign_ifThis operator assigns the right-hand input if the left-hand input evaluates true
 Csquare_diffThis operation returns the squared difference between two numbers
 CsubtractNumerical substraction of two numbers
 CzipThe zip operator that operators on keys as a left-hand input and values as a right hand input, producing a key-value std::pair
 Nutils
 NcontainersCollects various useful STL-compatible containers
 CConstantVectorA (dense) vector of a given size that holds the same constant value at each entry
 CRangeA container that contains a sequence of numbers with a given stride, and optionally a given number of repetitions
 NiteratorsCollects various useful STL-compatible iterators
 CAdapterAn iterator that simply adapts the values returned by another iterator
 CIteratorFilterThis iterator filters elements from another iterator based on a user- specified filter function
 CRepeaterAn iterator that repeats the same value for a set number of times
 CSequenceAn iterator over a collection of \( c \) items that for each item \( i \in \{0,1,\dots,c-1\} \) returns \( f(i) \), where \( f \) is of the form \( o + s( \lfloor i/r \rfloor ) \)
 Ccommon_iterator_tagSelects the common iterator tag from multiple STL-style iterators
 Ccommon_iterator_tag< IterT1, IterT2, IterTs... >Selects the common iterator tag from multiple STL-style iterators
 Chas_value_methodChecks whether a given ALP matrix iterator type has a .v() method
 Cis_alp_matrix_iteratorUsed to gauge whether a given type is an ALP matrix iterator
 CBenchmarkerA class that follows the API of the grb::Launcher, but instead of launching the given ALP program once, it launches it multiple times while benchmarking its execution times
 CcollectivesA static class defining various collective operations on scalars
 Chas_immutable_nonzeroesUsed to inspect whether a given semiring has immutable nonzeroes under addition
 Cis_associativeUsed to inspect whether a given operator or monoid is associative
 Cis_commutativeUsed to inspect whether a given operator or monoid is commutative
 Cis_containerUsed to inspect whether a given type is an ALP/GraphBLAS container
 Cis_idempotentUsed to inspect whether a given operator or monoid is idempotent
 Cis_monoidUsed to inspect whether a given type is an ALP monoid
 Cis_objectUsed to inspect whether a given type is an ALP/GraphBLAS object
 Cis_operatorUsed to inspect whether a given type is an ALP operator
 Cis_semiringUsed to inspect whether a given type is an ALP semiring
 CLauncherA group of user processes that together execute ALP programs
 CMatrixAn ALP/GraphBLAS matrix
 Cconst_iteratorA standard iterator for an ALP/GraphBLAS matrix
 CMonoidA generalised monoid
 CPinnedVectorProvides a mechanism to access ALP containers from outside of an ALP context
 CPropertiesCollection of various properties on the given ALP/GraphBLAS backend
 CSemiringA generalised semiring
 CspmdFor backends that support multiple user processes this class defines some basic primitives to support SPMD programming
 CVectorA GraphBLAS vector
 Cconst_iteratorA standard iterator for the Vector< D > class
 Nstd
 Citerator_traits< grb::utils::iterators::IteratorFilter< FwdSubIter > >Iterator traits for the IteratorFilter