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...