Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

VLInstantiate.cc

Go to the documentation of this file.
00001 /*
00002     File:       VLInstantiate.cc
00003     
00004     Purpose:    (Attempt to) instantiate templates used by functions in the
00005                 VL library.
00006     
00007     Author:     Andrew Willmott
00008 */
00009 
00010 #include "cl/Basics.h"
00011 #include "cl/Array.h"
00012 
00013 // Instantiate float and double arrays, if possible.
00014 // (Unfortunately, many C++ compilers don't yet support the
00015 // ANSI syntax for doing this. It's not a disaster if they
00016 // don't, as, unless the compiler is really broken, it
00017 // should automatically instantiate the templates at
00018 // compile time.
00019 
00020 #ifdef CL_SGI_INST
00021 #pragma instantiate Array<Float>
00022 #pragma instantiate Array<Double>
00023 
00024 #pragma instantiate Array<Array<Float> >
00025 #pragma instantiate Array<Array<Double> >
00026 
00027 #include "vl/VLf.h"
00028 #include "vl/VLd.h"
00029 
00030 #pragma instantiate Array<SparsePaird>
00031 #pragma instantiate Array<SparsePairf>
00032 #pragma instantiate Array<SparseVecd>
00033 #pragma instantiate Array<SparseVecf>
00034 
00035 #if 1
00036 #pragma instantiate istream &operator>>(istream&, Array<Double>&)
00037 #pragma instantiate istream &operator>>(istream&, Array<Array<Double> >&)
00038 #pragma instantiate istream &operator>>(istream&, Array<SparseVecd>&)
00039 #pragma instantiate istream &operator>>(istream&, Array<Float>&)
00040 #pragma instantiate istream &operator>>(istream&, Array<Array<Float> >&)
00041 #pragma instantiate istream &operator>>(istream&, Array<SparseVecf>&)
00042 #if 0
00043 #pragma instantiate istream &operator>>(istream&, Array<SparsePaird>&)
00044 #pragma instantiate istream &operator>>(istream&, Array<SparsePairf>&)
00045 #endif
00046 #endif
00047 
00048 #elif defined(CL_TMPL_INST)
00049 template class Array<Float>;
00050 template class Array<Double>;
00051 template class Array<Array<Float> >;
00052 template class Array<Array<Double> >;
00053 #endif

Generated at Sat Aug 5 00:16:50 2000 for Class Library by doxygen 1.1.0 written by Dimitri van Heesch, © 1997-2000