% +------------------------------------------------------------------------+
% | Reference manual page: Taucs_vector.tex
% +------------------------------------------------------------------------+
% | 21.09.2005   Laurent Saboret, Pierre Alliez, Bruno Levy
% | Package: Parameterization
% |
\RCSdef{\RCSTaucsvectorRev}{$Id$}
\RCSdefDate{\RCSTaucsvectorDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+


\begin{ccRefClass}{Taucs_vector}  %% add template arg's if necessary

%% \ccHtmlCrossLink{}     %% add further rules for cross referencing links
%% \ccHtmlIndexC[class]{} %% add further index entries


\ccDefinition

% The section below is automatically generated. Do not edit!
%START-AUTO(\ccDefinition)

The class Taucs\_vector is a C++ wrapper around TAUCS' vector type, which is a simple array.

%END-AUTO(\ccDefinition)

\ccInclude{CGAL/Taucs_vector.h}


\ccIsModel

% The section below is automatically generated. Do not edit!
%START-AUTO(\ccIsModel)

Model of the SparseLinearAlgebraTraits\_d::Vector concept.

%END-AUTO(\ccIsModel)


\ccParameters

The full template declaration is:

% The section below is automatically generated. Do not edit!
%START-AUTO(\ccParameters)

template$<$  \\
class T$>$   \\
class Taucs\_vector;

%END-AUTO(\ccParameters)


\ccTypes

% The section below is automatically generated. Do not edit!
%START-AUTO(\ccTypes)

\ccNestedType{NT}
{
}
\ccGlue

%END-AUTO(\ccTypes)


\ccCreation
\ccCreationVariable{v}  %% choose variable name for \ccMethod

% The section below is automatically generated. Do not edit!
%START-AUTO(\ccCreation)

\ccConstructor{Taucs_vector (int dimension);}
{
Create a vector initialized with zeros.
}
\ccGlue
\ccConstructor{Taucs_vector (const Taucs_vector< T > & toCopy);}
{
Copy constructor.
}
\ccGlue

%END-AUTO(\ccCreation)


\ccOperations

% The section below is automatically generated. Do not edit!
%START-AUTO(\ccOperations)

\ccMethod{Taucs_vector& operator= (const Taucs_vector< T > & toCopy);}
{
operator =()
}
\ccGlue
\ccMethod{int dimension () const;}
{
Return the vector's number of coefficients.
}
\ccGlue
\ccMethod{T operator[] (int i) const;}
{
Read/write access to 1 vector coefficient.
Preconditions: 0 $<$= i $<$ dimension().
}
\ccGlue
\ccMethod{T& operator[] (int i);}
{
}
\ccGlue
\ccMethod{const T* get_taucs_vector () const;}
{
Get TAUCS vector wrapped by this object.
}
\ccGlue
\ccMethod{T* get_taucs_vector ();}
{
}
\ccGlue

%END-AUTO(\ccOperations)


\ccSeeAlso

\ccRefIdfierPage{CGAL::Taucs_solver_traits}  \\
\ccRefIdfierPage{CGAL::Taucs_symmetric_solver_traits}  \\
\ccRefIdfierPage{CGAL::Taucs_matrix}  \\
\ccRefIdfierPage{CGAL::Taucs_symmetric_matrix}  \\
\ccc{OpenNL::DefaultLinearSolverTraits}  \\
\ccc{OpenNL::SymmetricLinearSolverTraits}  \\


\ccExample

A Taucs\_vector object can be used as any array of floating points:

\begin{ccExampleCode}

typedef CGAL::Taucs_vector<double>  Vector;

int main(int argc,char * argv[])
{
    Vector v(100);  // 100 elements
    v[0] = 4.3;
    ...
}

\end{ccExampleCode}


\end{ccRefClass}

% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

