permutation.h File Reference
#include <array>
#include <map>
#include <set>
#include <vector>
#include <algorithm>
#include <TiledArray/error.h>
#include <TiledArray/type_traits.h>
#include <TiledArray/util/vector.h>
Include dependency graph for permutation.h:
This graph shows which files directly or indirectly include this file:
Classes | |
class | TiledArray::symmetry::Permutation |
Permutation of a sequence of objects indexed by base-0 indices. More... | |
Namespaces | |
TiledArray | |
TiledArray::symmetry | |
TiledArray::symmetry::detail | |
Functions | |
bool | TiledArray::symmetry::operator== (const Permutation &p1, const Permutation &p2) |
Permutation equality operator. More... | |
bool | TiledArray::symmetry::operator!= (const Permutation &p1, const Permutation &p2) |
Permutation inequality operator. More... | |
bool | TiledArray::symmetry::operator< (const Permutation &p1, const Permutation &p2) |
Permutation less-than operator. More... | |
std::ostream & | TiledArray::symmetry::operator<< (std::ostream &output, const Permutation &p) |
Add permutation to an output stream. More... | |
Permutation | TiledArray::symmetry::operator- (const Permutation &perm) |
Inverse permutation operator. More... | |
Permutation | TiledArray::symmetry::operator* (const Permutation &p1, const Permutation &p2) |
Permutation multiplication operator. More... | |
Permutation & | TiledArray::symmetry::operator*= (Permutation &p1, const Permutation &p2) |
return *this ^ other More... | |
Permutation | TiledArray::symmetry::operator^ (const Permutation &perm, int n) |
Raise perm to the n-th power. More... | |
template<typename Arg , typename Result > | |
void | TiledArray::symmetry::detail::permute_array (const TiledArray::symmetry::Permutation &perm, const Arg &arg, Result &result) |
Create a permuted copy of an array. More... | |
template<typename T , std::size_t N> | |
std::array< T, N > | TiledArray::symmetry::operator* (const Permutation &perm, const std::array< T, N > &a) |
Permute a std::array . More... | |
template<typename T , std::size_t N> | |
std::array< T, N > & | TiledArray::symmetry::operator*= (std::array< T, N > &a, const Permutation &perm) |
In-place permute a std::array . More... | |
template<typename T , typename A > | |
std::vector< T > | TiledArray::symmetry::operator* (const Permutation &perm, const std::vector< T, A > &v) |
permute a std::vector<T> More... | |
template<typename T , typename A > | |
std::vector< T, A > & | TiledArray::symmetry::operator*= (std::vector< T, A > &v, const Permutation &perm) |
In-place permute a std::array . More... | |
template<typename T , std::size_t N> | |
boost::container::small_vector< T, N > | TiledArray::symmetry::operator* (const Permutation &perm, const boost::container::small_vector< T, N > &v) |
permute a boost::container::small_vector<T> More... | |
template<typename T , std::size_t N> | |
boost::container::small_vector< T, N > & | TiledArray::symmetry::operator*= (boost::container::small_vector< T, N > &v, const Permutation &perm) |
In-place permute a boost::container::small_vector . More... | |