Rosetta  2020.11
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Types | List of all members
utility::vector1< T, A > Class Template Reference

std::vector with 1-based indexing More...

#include <vector1.hh>

Inheritance diagram for utility::vector1< T, A >:
Inheritance graph
[legend]

Public Types

typedef super::value_type value_type
 
typedef super::reference reference
 
typedef super::const_reference const_reference
 
typedef super::pointer pointer
 
typedef super::const_pointer const_pointer
 
typedef super::iterator iterator
 
typedef super::const_iterator const_iterator
 
typedef super::reverse_iterator reverse_iterator
 
typedef
super::const_reverse_iterator 
const_reverse_iterator
 
typedef super::size_type size_type
 
typedef super::difference_type difference_type
 
typedef super::allocator_type allocator_type
 
typedef super::index_type index_type
 
typedef super::ssize_type ssize_type
 
typedef super::Value Value
 
typedef super::Reference Reference
 
typedef super::ConstReference ConstReference
 
typedef super::Pointer Pointer
 
typedef super::ConstPointer ConstPointer
 
typedef super::Iterator Iterator
 
typedef super::ConstIterator ConstIterator
 
typedef super::ReverseIterator ReverseIterator
 
typedef super::ConstReverseIterator ConstReverseIterator
 
typedef super::Size Size
 
typedef super::Difference Difference
 
typedef super::Allocator Allocator
 
typedef super::Index Index
 
typedef super::SSize SSize
 
- Public Types inherited from utility::vectorL< 1, T, A >
typedef super::value_type value_type
 
typedef super::reference reference
 
typedef super::const_reference const_reference
 
typedef super::pointer pointer
 
typedef super::const_pointer const_pointer
 
typedef super::iterator iterator
 
typedef super::const_iterator const_iterator
 
typedef super::reverse_iterator reverse_iterator
 
typedef
super::const_reverse_iterator 
const_reverse_iterator
 
typedef super::size_type size_type
 
typedef super::difference_type difference_type
 
typedef super::allocator_type allocator_type
 
typedef ::platform::SSize ssize_type
 
typedef super::value_type Value
 
typedef super::reference Reference
 
typedef super::const_reference ConstReference
 
typedef super::pointer Pointer
 
typedef super::const_pointer ConstPointer
 
typedef super::iterator Iterator
 
typedef super::const_iterator ConstIterator
 
typedef super::reverse_iterator ReverseIterator
 
typedef
super::const_reverse_iterator 
ConstReverseIterator
 
typedef ::platform::Size Size
 
typedef super::difference_type Difference
 
typedef super::allocator_type Allocator
 
typedef ::platform::SSize SSize
 

Public Member Functions

 vector1 (allocator_type const &alloc=allocator_type())
 Default constructor. More...
 
 vector1 (vector1 const &v)
 Copy constructor. More...
 
template<ssize_type L_, typename T_ , typename A_ >
 vector1 (vectorL< L_, T_, A_ > const &v)
 Assignable copy constructor. More...
 
 vector1 (super const &v)
 std::vector constructor More...
 
template<typename T_ , typename A_ >
 vector1 (std::vector< T_, A_ > const &v)
 Assignable std::vector constructor. More...
 
 vector1 (size_type num)
 Size constructor. More...
 
 vector1 (size_type num, value_type const &value, allocator_type const &alloc=allocator_type())
 Uniform value constructor. More...
 
template<typename InputIterator >
 vector1 (InputIterator const beg, InputIterator const ending, allocator_type const &alloc=allocator_type())
 Iterator range constructor. More...
 
 vector1 (vector1 &&v)
 C++11 Move constructor. More...
 
 vector1 (super &&v)
 C++11 vectorL move constructor. More...
 
 vector1 (std::initializer_list< T > init, const A &alloc=A())
 C++11 initializer list constructor. More...
 
 ~vector1 () override
 Destructor. More...
 
vector1operator= (vector1 const &v)
 Copy assignment. More...
 
template<ssize_type L_, typename T_ , typename A_ >
vector1operator= (vectorL< L_, T_, A_ > const &v)
 Assignable copy assignment. More...
 
vector1operator= (super const &v)
 std::vector assignment More...
 
template<typename T_ , typename A_ >
vector1operator= (std::vector< T_, A_ > const &v)
 Assignable std::vector assignment. More...
 
int index (T const t) const
 Find the index of an element. If not found then return 0;. More...
 
bool has_value (T const t) const
 useful function – was commented out previously due, I think, to a conflict with has() in OptionKeys! Now renamed to has_value(). More...
 
- Public Member Functions inherited from utility::vectorL< 1, T, A >
 vectorL (allocator_type const &alloc=allocator_type())
 Default constructor. More...
 
 vectorL (vectorL const &v)
 Copy constructor. More...
 
 vectorL (vectorL< L_, T_, A_ > const &v)
 Assignable copy constructor. More...
 
 vectorL (super const &v)
 std::vector constructor More...
 
 vectorL (std::vector< T_, A_ > const &v)
 Assignable std::vector constructor. More...
 
 vectorL (size_type const num)
 Size constructor. More...
 
 vectorL (size_type const num, value_type const &value, allocator_type const &alloc=allocator_type())
 Uniform value constructor. More...
 
 vectorL (InputIterator const beg, InputIterator const ending, allocator_type const &alloc=allocator_type())
 Iterator range constructor. More...
 
 vectorL (vectorL &&v)
 C++11 Move constructor. More...
 
 vectorL (super &&v)
 C++11 std::vector move constructor. More...
 
 vectorL (std::initializer_list< T > init, const A &alloc=A())
 C++11 initializer list constructor. More...
 
virtual ~vectorL ()
 Destructor. More...
 
vectorLoperator= (vectorL const &v)
 Copy assignment. More...
 
vectorLoperator= (vectorL< L_, T_, A_ > const &v)
 Assignable copy assignment. More...
 
vectorLoperator= (super const &v)
 std::vector assignment More...
 
vectorLoperator= (std::vector< T_, A_ > const &v)
 Assignable std::vector assignment. More...
 
super const & vector () const
 std::vector const explicit conversion More...
 
supervector ()
 std::vector explicit conversion More...
 
vectorLappend (vectorL const &v)
 Append another vectorL to the back of the vector. More...
 
vectorLadd_back (T const &t)
 Add an element to the back of the vector. More...
 
vectorLremove_back ()
 Remove the element at the back of the vector. More...
 
vectorLpop (T const &t)
 Remove an element of the vector. More...
 
void erase_index (index_type const i)
 Deletes the index from the vector. Has same thread-safety/iterator guarantees as std::vector::erase() (That is, it's not safe to access anything past the point of deletion, including the end() iterator.) More...
 
void shrink ()
 Shrink the index map to remove unused capacity. More...
 
bool contains (T const &t) const
 Check if vector contains a given element. More...
 
SSize index_of (T const &t)
 Return the index of a given element or exit if not found. More...
 
bool has (index_type const i) const
 Has an element with an index? More...
 
const_reference operator[] (index_type const i) const
 vectorL[ i ] const More...
 
reference operator[] (index_type const i)
 vectorL[ i ] More...
 
const_reference at (index_type const i) const
 vectorL.at( i ) const More...
 
reference at (index_type const i)
 vectorL.at( i ) More...
 
index_type l () const
 Lower index. More...
 
index_type u () const
 Upper index. More...
 
void swap (vectorL &v)
 swap( vectorL ) More...
 

Private Types

typedef vectorL< 1, T, Asuper
 

Additional Inherited Members

- Public Attributes inherited from utility::vectorL< 1, T, A >
typedef vectorL_IndexSelector< L >
 
- Protected Types inherited from utility::vectorL< 1, T, A >
typedef std::vector< T, Aroot
 

Detailed Description

template<typename T, typename A = std::allocator< T >>
class utility::vector1< T, A >

std::vector with 1-based indexing

Member Typedef Documentation

template<typename T, typename A = std::allocator< T >>
typedef super::Allocator utility::vector1< T, A >::Allocator
template<typename T, typename A = std::allocator< T >>
typedef super::allocator_type utility::vector1< T, A >::allocator_type
template<typename T, typename A = std::allocator< T >>
typedef super::const_iterator utility::vector1< T, A >::const_iterator
template<typename T, typename A = std::allocator< T >>
typedef super::const_pointer utility::vector1< T, A >::const_pointer
template<typename T, typename A = std::allocator< T >>
typedef super::const_reference utility::vector1< T, A >::const_reference
template<typename T, typename A = std::allocator< T >>
typedef super::const_reverse_iterator utility::vector1< T, A >::const_reverse_iterator
template<typename T, typename A = std::allocator< T >>
typedef super::ConstIterator utility::vector1< T, A >::ConstIterator
template<typename T, typename A = std::allocator< T >>
typedef super::ConstPointer utility::vector1< T, A >::ConstPointer
template<typename T, typename A = std::allocator< T >>
typedef super::ConstReference utility::vector1< T, A >::ConstReference
template<typename T, typename A = std::allocator< T >>
typedef super::ConstReverseIterator utility::vector1< T, A >::ConstReverseIterator
template<typename T, typename A = std::allocator< T >>
typedef super::Difference utility::vector1< T, A >::Difference
template<typename T, typename A = std::allocator< T >>
typedef super::difference_type utility::vector1< T, A >::difference_type
template<typename T, typename A = std::allocator< T >>
typedef super::Index utility::vector1< T, A >::Index
template<typename T, typename A = std::allocator< T >>
typedef super::index_type utility::vector1< T, A >::index_type
template<typename T, typename A = std::allocator< T >>
typedef super::iterator utility::vector1< T, A >::iterator
template<typename T, typename A = std::allocator< T >>
typedef super::Iterator utility::vector1< T, A >::Iterator
template<typename T, typename A = std::allocator< T >>
typedef super::pointer utility::vector1< T, A >::pointer
template<typename T, typename A = std::allocator< T >>
typedef super::Pointer utility::vector1< T, A >::Pointer
template<typename T, typename A = std::allocator< T >>
typedef super::reference utility::vector1< T, A >::reference
template<typename T, typename A = std::allocator< T >>
typedef super::Reference utility::vector1< T, A >::Reference
template<typename T, typename A = std::allocator< T >>
typedef super::reverse_iterator utility::vector1< T, A >::reverse_iterator
template<typename T, typename A = std::allocator< T >>
typedef super::ReverseIterator utility::vector1< T, A >::ReverseIterator
template<typename T, typename A = std::allocator< T >>
typedef super::Size utility::vector1< T, A >::Size
template<typename T, typename A = std::allocator< T >>
typedef super::size_type utility::vector1< T, A >::size_type
template<typename T, typename A = std::allocator< T >>
typedef super::SSize utility::vector1< T, A >::SSize
template<typename T, typename A = std::allocator< T >>
typedef super::ssize_type utility::vector1< T, A >::ssize_type
template<typename T, typename A = std::allocator< T >>
typedef vectorL< 1, T, A > utility::vector1< T, A >::super
private
template<typename T, typename A = std::allocator< T >>
typedef super::Value utility::vector1< T, A >::Value
template<typename T, typename A = std::allocator< T >>
typedef super::value_type utility::vector1< T, A >::value_type

Constructor & Destructor Documentation

template<typename T, typename A = std::allocator< T >>
utility::vector1< T, A >::vector1 ( allocator_type const &  alloc = allocator_type())
inlineexplicit

Default constructor.

template<typename T, typename A = std::allocator< T >>
utility::vector1< T, A >::vector1 ( vector1< T, A > const &  v)
inline

Copy constructor.

template<typename T, typename A = std::allocator< T >>
template<ssize_type L_, typename T_ , typename A_ >
utility::vector1< T, A >::vector1 ( vectorL< L_, T_, A_ > const &  v)
inline

Assignable copy constructor.

template<typename T, typename A = std::allocator< T >>
utility::vector1< T, A >::vector1 ( super const &  v)
inlineexplicit

std::vector constructor

template<typename T, typename A = std::allocator< T >>
template<typename T_ , typename A_ >
utility::vector1< T, A >::vector1 ( std::vector< T_, A_ > const &  v)
inlineexplicit

Assignable std::vector constructor.

template<typename T, typename A = std::allocator< T >>
utility::vector1< T, A >::vector1 ( size_type  num)
inlineexplicit

Size constructor.

template<typename T, typename A = std::allocator< T >>
utility::vector1< T, A >::vector1 ( size_type  num,
value_type const &  value,
allocator_type const &  alloc = allocator_type() 
)
inline

Uniform value constructor.

template<typename T, typename A = std::allocator< T >>
template<typename InputIterator >
utility::vector1< T, A >::vector1 ( InputIterator const  beg,
InputIterator const  ending,
allocator_type const &  alloc = allocator_type() 
)
inline

Iterator range constructor.

template<typename T, typename A = std::allocator< T >>
utility::vector1< T, A >::vector1 ( vector1< T, A > &&  v)
inline

C++11 Move constructor.

template<typename T, typename A = std::allocator< T >>
utility::vector1< T, A >::vector1 ( super &&  v)
inlineexplicit

C++11 vectorL move constructor.

template<typename T, typename A = std::allocator< T >>
utility::vector1< T, A >::vector1 ( std::initializer_list< T init,
const A alloc = A() 
)
inline

C++11 initializer list constructor.

template<typename T, typename A = std::allocator< T >>
utility::vector1< T, A >::~vector1 ( )
inlineoverride

Destructor.

Member Function Documentation

template<typename T, typename A = std::allocator< T >>
bool utility::vector1< T, A >::has_value ( T const  t) const
inline

useful function – was commented out previously due, I think, to a conflict with has() in OptionKeys! Now renamed to has_value().

Referenced by BuildFullModel::make_built_residues_repulsive(), and simple_packing().

template<typename T, typename A = std::allocator< T >>
int utility::vector1< T, A >::index ( T const  t) const
inline

Find the index of an element. If not found then return 0;.

Referenced by get_sphere_xyz().

template<typename T, typename A = std::allocator< T >>
vector1& utility::vector1< T, A >::operator= ( vector1< T, A > const &  v)
inline

Copy assignment.

template<typename T, typename A = std::allocator< T >>
template<ssize_type L_, typename T_ , typename A_ >
vector1& utility::vector1< T, A >::operator= ( vectorL< L_, T_, A_ > const &  v)
inline

Assignable copy assignment.

template<typename T, typename A = std::allocator< T >>
vector1& utility::vector1< T, A >::operator= ( super const &  v)
inline

std::vector assignment

template<typename T, typename A = std::allocator< T >>
template<typename T_ , typename A_ >
vector1& utility::vector1< T, A >::operator= ( std::vector< T_, A_ > const &  v)
inline

Assignable std::vector assignment.


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