My Project
Loading...
Searching...
No Matches
ap::template_2d_array< T > Class Template Reference

#include <ap.h>

Public Member Functions

 template_2d_array ()
 
 ~template_2d_array ()
 
 template_2d_array (const template_2d_array &rhs)
 
const template_2d_arrayoperator= (const template_2d_array &rhs)
 
const Toperator() (int i1, int i2) const
 
Toperator() (int i1, int i2)
 
void setbounds (int iLow1, int iHigh1, int iLow2, int iHigh2)
 
void setcontent (int iLow1, int iHigh1, int iLow2, int iHigh2, const T *pContent)
 
Tgetcontent ()
 
const Tgetcontent () const
 
int getlowbound (int iBoundNum) const
 
int gethighbound (int iBoundNum) const
 
raw_vector< Tgetcolumn (int iColumn, int iRowStart, int iRowEnd)
 
raw_vector< Tgetrow (int iRow, int iColumnStart, int iColumnEnd)
 
const_raw_vector< Tgetcolumn (int iColumn, int iRowStart, int iRowEnd) const
 
const_raw_vector< Tgetrow (int iRow, int iColumnStart, int iColumnEnd) const
 
 template_2d_array ()
 
 ~template_2d_array ()
 
 template_2d_array (const template_2d_array &rhs)
 
const template_2d_arrayoperator= (const template_2d_array &rhs)
 
const Toperator() (int i1, int i2) const
 
Toperator() (int i1, int i2)
 
void setbounds (int iLow1, int iHigh1, int iLow2, int iHigh2)
 
void setcontent (int iLow1, int iHigh1, int iLow2, int iHigh2, const T *pContent)
 
Tgetcontent ()
 
const Tgetcontent () const
 
int getlowbound (int iBoundNum) const
 
int gethighbound (int iBoundNum) const
 
raw_vector< Tgetcolumn (int iColumn, int iRowStart, int iRowEnd)
 
raw_vector< Tgetrow (int iRow, int iColumnStart, int iColumnEnd)
 
const_raw_vector< Tgetcolumn (int iColumn, int iRowStart, int iRowEnd) const
 
const_raw_vector< Tgetrow (int iRow, int iColumnStart, int iColumnEnd) const
 

Private Member Functions

bool wrongRow (int i) const
 
bool wrongColumn (int j) const
 
bool wrongRow (int i) const
 
bool wrongColumn (int j) const
 

Private Attributes

Tm_Vec
 
long m_iVecSize
 
long m_iLow1
 
long m_iLow2
 
long m_iHigh1
 
long m_iHigh2
 
long m_iConstOffset
 
long m_iLinearMember
 

Detailed Description

template<class T>
class ap::template_2d_array< T >

Definition at line 806 of file ap.h.

Constructor & Destructor Documentation

◆ template_2d_array() [1/4]

template<class T>
ap::template_2d_array< T >::template_2d_array ( )
inline

Definition at line 809 of file ap.h.

810 {
811 m_Vec=0;
812 m_iVecSize=0;
813 };

◆ ~template_2d_array() [1/2]

template<class T>
ap::template_2d_array< T >::~template_2d_array ( )
inline

Definition at line 815 of file ap.h.

816 {
817 if(m_Vec)
818 delete[] m_Vec;
819 };

◆ template_2d_array() [2/4]

template<class T>
ap::template_2d_array< T >::template_2d_array ( const template_2d_array< T > & rhs)
inline

Definition at line 821 of file ap.h.

822 {
830 if(rhs.m_Vec)
831 {
832 m_Vec = new T[m_iVecSize];
833 #ifndef UNSAFE_MEM_COPY
834 for(int i=0; i<m_iVecSize; i++)
835 m_Vec[i] = rhs.m_Vec[i];
836 #else
837 memcpy(m_Vec, rhs.m_Vec, m_iVecSize*sizeof(T));
838 #endif
839 }
840 else
841 m_Vec=0;
842 };
long m_iConstOffset
Definition ap.h:969
long m_iLinearMember
Definition ap.h:969

◆ template_2d_array() [3/4]

template<class T>
ap::template_2d_array< T >::template_2d_array ( )
inline

Definition at line 818 of file svd_si.h.

819 {
820 m_Vec=0;
821 m_iVecSize=0;
822 };

◆ ~template_2d_array() [2/2]

template<class T>
ap::template_2d_array< T >::~template_2d_array ( )
inline

Definition at line 824 of file svd_si.h.

825 {
826 if(m_Vec)
827 delete[] m_Vec;
828 };

◆ template_2d_array() [4/4]

template<class T>
ap::template_2d_array< T >::template_2d_array ( const template_2d_array< T > & rhs)
inline

Definition at line 830 of file svd_si.h.

831 {
839 if(rhs.m_Vec)
840 {
841 m_Vec = new T[m_iVecSize];
842 #ifndef UNSAFE_MEM_COPY
843 for(int i=0; i<m_iVecSize; i++)
844 m_Vec[i] = rhs.m_Vec[i];
845 #else
846 memcpy(m_Vec, rhs.m_Vec, m_iVecSize*sizeof(T));
847 #endif
848 }
849 else
850 m_Vec=0;
851 };

Member Function Documentation

◆ getcolumn() [1/4]

template<class T>
raw_vector< T > ap::template_2d_array< T >::getcolumn ( int iColumn,
int iRowStart,
int iRowEnd )
inline

Definition at line 931 of file ap.h.

932 {
934 return raw_vector<T>(0, 0, 1);
935 else
937 };
bool wrongRow(int i) const
Definition ap.h:963
bool wrongColumn(int j) const
Definition ap.h:964

◆ getcolumn() [2/4]

template<class T>
raw_vector< T > ap::template_2d_array< T >::getcolumn ( int iColumn,
int iRowStart,
int iRowEnd )
inline

Definition at line 940 of file svd_si.h.

941 {
943 return raw_vector<T>(0, 0, 1);
944 else
946 };

◆ getcolumn() [3/4]

template<class T>
const_raw_vector< T > ap::template_2d_array< T >::getcolumn ( int iColumn,
int iRowStart,
int iRowEnd ) const
inline

Definition at line 947 of file ap.h.

948 {
950 return const_raw_vector<T>(0, 0, 1);
951 else
953 };

◆ getcolumn() [4/4]

template<class T>
const_raw_vector< T > ap::template_2d_array< T >::getcolumn ( int iColumn,
int iRowStart,
int iRowEnd ) const
inline

Definition at line 956 of file svd_si.h.

957 {
959 return const_raw_vector<T>(0, 0, 1);
960 else
962 };

◆ getcontent() [1/4]

template<class T>
T * ap::template_2d_array< T >::getcontent ( )
inline

Definition at line 911 of file ap.h.

912 {
913 return m_Vec;
914 };

◆ getcontent() [2/4]

template<class T>
T * ap::template_2d_array< T >::getcontent ( )
inline

Definition at line 920 of file svd_si.h.

921 {
922 return m_Vec;
923 };

◆ getcontent() [3/4]

template<class T>
const T * ap::template_2d_array< T >::getcontent ( ) const
inline

Definition at line 916 of file ap.h.

917 {
918 return m_Vec;
919 };

◆ getcontent() [4/4]

template<class T>
const T * ap::template_2d_array< T >::getcontent ( ) const
inline

Definition at line 925 of file svd_si.h.

926 {
927 return m_Vec;
928 };

◆ gethighbound() [1/2]

template<class T>
int ap::template_2d_array< T >::gethighbound ( int iBoundNum) const
inline

Definition at line 926 of file ap.h.

927 {
928 return iBoundNum==1 ? m_iHigh1 : m_iHigh2;
929 };

◆ gethighbound() [2/2]

template<class T>
int ap::template_2d_array< T >::gethighbound ( int iBoundNum) const
inline

Definition at line 935 of file svd_si.h.

936 {
937 return iBoundNum==1 ? m_iHigh1 : m_iHigh2;
938 };

◆ getlowbound() [1/2]

template<class T>
int ap::template_2d_array< T >::getlowbound ( int iBoundNum) const
inline

Definition at line 921 of file ap.h.

922 {
923 return iBoundNum==1 ? m_iLow1 : m_iLow2;
924 };

◆ getlowbound() [2/2]

template<class T>
int ap::template_2d_array< T >::getlowbound ( int iBoundNum) const
inline

Definition at line 930 of file svd_si.h.

931 {
932 return iBoundNum==1 ? m_iLow1 : m_iLow2;
933 };

◆ getrow() [1/4]

template<class T>
raw_vector< T > ap::template_2d_array< T >::getrow ( int iRow,
int iColumnStart,
int iColumnEnd )
inline

Definition at line 939 of file ap.h.

940 {
942 return raw_vector<T>(0, 0, 1);
943 else
944 return raw_vector<T>(&((*this)(iRow, iColumnStart)), iColumnEnd-iColumnStart+1, 1);
945 };

◆ getrow() [2/4]

template<class T>
raw_vector< T > ap::template_2d_array< T >::getrow ( int iRow,
int iColumnStart,
int iColumnEnd )
inline

Definition at line 948 of file svd_si.h.

949 {
951 return raw_vector<T>(0, 0, 1);
952 else
953 return raw_vector<T>(&((*this)(iRow, iColumnStart)), iColumnEnd-iColumnStart+1, 1);
954 };

◆ getrow() [3/4]

template<class T>
const_raw_vector< T > ap::template_2d_array< T >::getrow ( int iRow,
int iColumnStart,
int iColumnEnd ) const
inline

Definition at line 955 of file ap.h.

956 {
958 return const_raw_vector<T>(0, 0, 1);
959 else
961 };

◆ getrow() [4/4]

template<class T>
const_raw_vector< T > ap::template_2d_array< T >::getrow ( int iRow,
int iColumnStart,
int iColumnEnd ) const
inline

Definition at line 964 of file svd_si.h.

965 {
967 return const_raw_vector<T>(0, 0, 1);
968 else
970 };

◆ operator()() [1/4]

template<class T>
T & ap::template_2d_array< T >::operator() ( int i1,
int i2 )
inline

Definition at line 881 of file ap.h.

882 {
883 #ifndef NO_AP_ASSERT
886 #endif
888 };
static void make_assertion(bool bClause)
Definition ap.h:49

◆ operator()() [2/4]

template<class T>
T & ap::template_2d_array< T >::operator() ( int i1,
int i2 )
inline

Definition at line 890 of file svd_si.h.

891 {
892 #ifndef NO_AP_ASSERT
895 #endif
897 };

◆ operator()() [3/4]

template<class T>
const T & ap::template_2d_array< T >::operator() ( int i1,
int i2 ) const
inline

Definition at line 872 of file ap.h.

873 {
874 #ifndef NO_AP_ASSERT
877 #endif
879 };

◆ operator()() [4/4]

template<class T>
const T & ap::template_2d_array< T >::operator() ( int i1,
int i2 ) const
inline

Definition at line 881 of file svd_si.h.

882 {
883 #ifndef NO_AP_ASSERT
886 #endif
888 };

◆ operator=() [1/2]

template<class T>
const template_2d_array & ap::template_2d_array< T >::operator= ( const template_2d_array< T > & rhs)
inline

Definition at line 843 of file ap.h.

844 {
845 if( this==&rhs )
846 return *this;
847
855 if(m_Vec)
856 delete[] m_Vec;
857 if(rhs.m_Vec)
858 {
859 m_Vec = new T[m_iVecSize];
860 #ifndef UNSAFE_MEM_COPY
861 for(int i=0; i<m_iVecSize; i++)
862 m_Vec[i] = rhs.m_Vec[i];
863 #else
864 memcpy(m_Vec, rhs.m_Vec, m_iVecSize*sizeof(T));
865 #endif
866 }
867 else
868 m_Vec=0;
869 return *this;
870 };

◆ operator=() [2/2]

template<class T>
const template_2d_array & ap::template_2d_array< T >::operator= ( const template_2d_array< T > & rhs)
inline

Definition at line 852 of file svd_si.h.

853 {
854 if( this==&rhs )
855 return *this;
856
864 if(m_Vec)
865 delete[] m_Vec;
866 if(rhs.m_Vec)
867 {
868 m_Vec = new T[m_iVecSize];
869 #ifndef UNSAFE_MEM_COPY
870 for(int i=0; i<m_iVecSize; i++)
871 m_Vec[i] = rhs.m_Vec[i];
872 #else
873 memcpy(m_Vec, rhs.m_Vec, m_iVecSize*sizeof(T));
874 #endif
875 }
876 else
877 m_Vec=0;
878 return *this;
879 };

◆ setbounds() [1/2]

template<class T>
void ap::template_2d_array< T >::setbounds ( int iLow1,
int iHigh1,
int iLow2,
int iHigh2 )
inline

Definition at line 890 of file ap.h.

891 {
892 if(m_Vec)
893 delete[] m_Vec;
895 m_Vec = new T[m_iVecSize];
896 m_iLow1 = iLow1;
898 m_iLow2 = iLow2;
902 };

◆ setbounds() [2/2]

template<class T>
void ap::template_2d_array< T >::setbounds ( int iLow1,
int iHigh1,
int iLow2,
int iHigh2 )
inline

Definition at line 899 of file svd_si.h.

900 {
901 if(m_Vec)
902 delete[] m_Vec;
904 m_Vec = new T[m_iVecSize];
905 m_iLow1 = iLow1;
907 m_iLow2 = iLow2;
911 };

◆ setcontent() [1/2]

template<class T>
void ap::template_2d_array< T >::setcontent ( int iLow1,
int iHigh1,
int iLow2,
int iHigh2,
const T * pContent )
inline

Definition at line 904 of file ap.h.

905 {
907 for(int i=0; i<m_iVecSize; i++)
908 m_Vec[i]=pContent[i];
909 };
void setbounds(int iLow1, int iHigh1, int iLow2, int iHigh2)
Definition ap.h:890

◆ setcontent() [2/2]

template<class T>
void ap::template_2d_array< T >::setcontent ( int iLow1,
int iHigh1,
int iLow2,
int iHigh2,
const T * pContent )
inline

Definition at line 913 of file svd_si.h.

914 {
916 for(int i=0; i<m_iVecSize; i++)
917 m_Vec[i]=pContent[i];
918 };

◆ wrongColumn() [1/2]

template<class T>
bool ap::template_2d_array< T >::wrongColumn ( int j) const
inlineprivate

Definition at line 964 of file ap.h.

964{ return j<m_iLow2 || j>m_iHigh2; };

◆ wrongColumn() [2/2]

template<class T>
bool ap::template_2d_array< T >::wrongColumn ( int j) const
inlineprivate

Definition at line 973 of file svd_si.h.

973{ return j<m_iLow2 || j>m_iHigh2; };

◆ wrongRow() [1/2]

template<class T>
bool ap::template_2d_array< T >::wrongRow ( int i) const
inlineprivate

Definition at line 963 of file ap.h.

963{ return i<m_iLow1 || i>m_iHigh1; };

◆ wrongRow() [2/2]

template<class T>
bool ap::template_2d_array< T >::wrongRow ( int i) const
inlineprivate

Definition at line 972 of file svd_si.h.

972{ return i<m_iLow1 || i>m_iHigh1; };

Field Documentation

◆ m_iConstOffset

template<class T>
long ap::template_2d_array< T >::m_iConstOffset
private

Definition at line 969 of file ap.h.

◆ m_iHigh1

template<class T>
long ap::template_2d_array< T >::m_iHigh1
private

Definition at line 968 of file ap.h.

◆ m_iHigh2

template<class T>
long ap::template_2d_array< T >::m_iHigh2
private

Definition at line 968 of file ap.h.

◆ m_iLinearMember

template<class T>
long ap::template_2d_array< T >::m_iLinearMember
private

Definition at line 969 of file ap.h.

◆ m_iLow1

template<class T>
long ap::template_2d_array< T >::m_iLow1
private

Definition at line 968 of file ap.h.

◆ m_iLow2

template<class T>
long ap::template_2d_array< T >::m_iLow2
private

Definition at line 968 of file ap.h.

◆ m_iVecSize

template<class T>
long ap::template_2d_array< T >::m_iVecSize
private

Definition at line 967 of file ap.h.

◆ m_Vec

template<class T>
T * ap::template_2d_array< T >::m_Vec
private

Definition at line 966 of file ap.h.


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