// Filename: vector_src.cxx // Created by: drose (15May01) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) 2001 - 2004, Disney Enterprises, Inc. All rights reserved // // All use of this software is subject to the terms of the Panda 3d // Software license. You should have received a copy of this license // along with this source code; you will also find a current copy of // the license at http://etc.cmu.edu/panda3d/docs/license/ . // // To contact the maintainers of this program write to // panda3d-general@lists.sourceforge.net . // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // // This file defines the interface to declare and export from the DLL // an STL vector of some type. // // To use this file you must #define a number of symbols and then // #include it from a .cxx file. You also must do the same thing with // vector_something_src.h from a .h file. // // This is necessary because of the complexity involved in exporting a // vector class from a DLL. If we are using the Dinkumware STL // implementation, it is even more complex. However, all this // complexity is only needed to support Windows builds; Unix shared // libraries are able to export symbols (including templates) without // any special syntax. // //////////////////////////////////////////////////////////////////// // The following variables should be defined prior to including this // file: // // EXPCL - the appropriate EXPCL_* symbol for this DLL. // EXPTP - the appropriate EXPTP_* symbol for this DLL. // TYPE - the type of thing we are building a vector on. // NAME - The name of the resulting vector typedef, e.g. vector_int. // // They will automatically be undefined at the end of the file. /* void insert_into_vector(NAME &vec, NAME::iterator where, NAME::const_pointer begin, NAME::const_pointer end) { vec.insert(where, begin, end); } */ #undef EXPCL #undef EXPTP #undef TYPE #undef NAME