10 #ifndef TEUCHOS_ARRAY_VIEW_DECL_HPP 
   11 #define TEUCHOS_ARRAY_VIEW_DECL_HPP 
   22 template<
class T> 
class ArrayRCP;
 
  123 #ifdef HAVE_TEUCHOS_ARRAY_BOUNDSCHECK 
  173   ArrayView (std::vector<
typename std::remove_const_t<T>>& vec);
 
  176   ArrayView (
const std::vector<
typename std::remove_const_t<T>>& vec);
 
  207   inline T* 
data() 
const;
 
  337 #ifdef HAVE_TEUCHOS_ARRAY_BOUNDSCHECK 
  352 #ifdef HAVE_TEUCHOS_ARRAY_BOUNDSCHECK 
  359 #ifdef HAVE_TEUCHOS_ARRAY_BOUNDSCHECK 
  365     (void)offset; (void)size_in;
 
  366 #ifdef HAVE_TEUCHOS_ARRAY_BOUNDSCHECK 
  372 #ifdef HAVE_TEUCHOS_ARRAY_BOUNDSCHECK 
  373     arcp_.access_private_node().assert_valid_ptr(*
this);
 
  384 #ifdef HAVE_TEUCHOS_ARRAY_BOUNDSCHECK 
  411 #ifdef HAVE_TEUCHOS_ARRAY_BOUNDSCHECK 
  426   ArrayView (std::vector<
typename std::remove_const_t<T>>& vec);
 
  428   ArrayView (
const std::vector<
typename std::remove_const_t<T>>& vec);
 
  442   inline const T* 
data() 
const;
 
  446   const T& 
front() 
const;
 
  448   const T& 
back() 
const;
 
  471 #ifdef HAVE_TEUCHOS_ARRAY_BOUNDSCHECK 
  486 #ifdef HAVE_TEUCHOS_ARRAY_BOUNDSCHECK 
  493 #ifdef HAVE_TEUCHOS_ARRAY_BOUNDSCHECK 
  499     (void)offset; (void)size_in;
 
  500 #ifdef HAVE_TEUCHOS_ARRAY_BOUNDSCHECK 
  506 #ifdef HAVE_TEUCHOS_ARRAY_BOUNDSCHECK 
  507     arcp_.access_private_node().assert_valid_ptr(*
this);
 
  517 #ifdef HAVE_TEUCHOS_ARRAY_BOUNDSCHECK 
  529 ArrayView<T> arrayView( T* p, 
typename ArrayView<T>::size_type size );
 
  537 ArrayView<T> arrayViewFromVector( std::vector<T>& vec );
 
  545 ArrayView<const T> arrayViewFromVector( 
const std::vector<T>& vec );
 
  565 std::vector<T> createVector( 
const ArrayView<T> &av );
 
  579 std::vector<T> createVector( 
const ArrayView<const T> &av );
 
  587 bool is_null( 
const ArrayView<T> &av );
 
  595 bool nonnull( 
const ArrayView<T> &av );
 
  606 std::ostream& operator<<( std::ostream& out, const ArrayView<T>& av );
 
  617 template<
class T2, 
class T1>
 
  618 ArrayView<T2> av_const_cast(
const ArrayView<T1>& p1);
 
  633 template<
class T2, 
class T1>
 
  634 ArrayView<T2> av_reinterpret_cast(
const ArrayView<T1>& p1);
 
  648 #endif  // TEUCHOS_ARRAY_VIEW_DECL_HPP 
T & reference
Type of a reference to an array element. 
void debug_assert_in_range(size_type offset, size_type size_in) const 
std::string toString() const 
Convert an ArrayView<T> to an std::string 
void setUpIterators(const ERCPNodeLookup rcpNodeLookup=RCP_ENABLE_NODE_LOOKUP)
T & front() const 
Get the first element. 
const T * const_pointer
Type of a const pointer to an array element. 
pointer iterator
Type of a nonconst iterator. 
bool is_null() const 
Returns true if the underlying pointer is null. 
const ArrayView< T > & assert_in_range(size_type offset, size_type size) const 
Throws NullReferenceError if this->get()==NULL orthis->get()!=NULL, throws RangeError if (offset < 0 ...
Partial specialization of ArrayRCP for const T. 
const T & const_reference
Type of a const reference to an array element. 
iterator begin() const 
Return an iterator to beginning of the array of data. 
bool nonnull(const std::shared_ptr< T > &p)
Returns true if p.get()!=NULL. 
bool is_null(const std::shared_ptr< T > &p)
Returns true if p.get()==NULL. 
const_pointer const_iterator
Type of a const iterator. 
Ordinal size_type
Type representing the number of elements in an ArrayRCP or view thereof. 
size_type size() const 
The total number of items in the managed array. 
ERCPNodeLookup
Used to determine if RCPNode lookup is performed or not. 
ENull
Used to initialize a RCP object to NULL using an implicit conversion! 
void debug_assert_not_null() const 
T * data() const 
Return a raw pointer to beginning of array. 
TEUCHOS_ORDINAL_TYPE Teuchos_Ordinal
void assign(const ArrayView< const T > &array) const 
Copy the data from one array view object to this array view object. 
Teuchos_Ordinal Ordinal
Integer index type used throughout ArrayView. 
const T & const_reference
void debug_assert_in_range(size_type offset, size_type size_in) const 
void debug_assert_not_null() const 
void debug_assert_valid_ptr() const 
T * pointer
Type of a pointer to an array element. 
const T * access_private_ptr() const 
T * getRawPtr() const 
Return a raw pointer to beginning of array or NULL if unsized. 
const ArrayView< T > & assert_not_null() const 
Throws NullReferenceError if this->get()==NULL, otherwise returns reference to *this. 
void debug_assert_valid_ptr() const 
T value_type
Type of each array element. 
const ArrayView< T > & operator()() const 
Return *this (just for compatibility with Array and ArrayPtr). 
ArrayView(ENull null_arg=null)
Constructor that initializes to NULL (implicitly or explicitly). 
iterator end() const 
Return an iterator to past the end of the array of data. 
ArrayView< T > view(size_type offset, size_type size) const 
Return a view of a contiguous range of elements. 
Partial specialization of ArrayView for const T. 
T * access_private_ptr() const 
T & operator[](size_type i) const 
Random object access. 
Reference-counted pointer node classes. 
Ordinal difference_type
Type representing the difference between two size_type values. 
ArrayView< T > & operator=(const ArrayView< T > &array)
Shallow copy assignment operator. 
ArrayView< const T > getConst() const 
Return a const view of a possibly nonconst view. 
T & back() const 
Get the last element. 
const_pointer const_iterator
Reference-counted smart pointer for managing arrays.