fixed: auto_ptr -> unique_ptr
[opensg.git] / Source / System / FileIO / OSB / OSGNFIOOptions.inl
blob14de63bdbf89effa6ed7b98da6fafe8378976c66
1 /*---------------------------------------------------------------------------*\
2  *                                OpenSG                                     * 
3  *                                                                           * 
4  *                                                                           * 
5  *                   Copyright (C) 2008 by the OpenSG Forum                  * 
6  *                                                                           * 
7  *                            www.opensg.org                                 * 
8  *                                                                           * 
9  *   contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de          * 
10  *                                                                           * 
11 \*---------------------------------------------------------------------------*/
12 /*---------------------------------------------------------------------------*\
13  *                                License                                    * 
14  *                                                                           * 
15  * This library is free software; you can redistribute it and/or modify it   * 
16  * under the terms of the GNU Library General Public License as published    * 
17  * by the Free Software Foundation, version 2.                               * 
18  *                                                                           * 
19  * This library is distributed in the hope that it will be useful, but       * 
20  * WITHOUT ANY WARRANTY; without even the implied warranty of                * 
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU         * 
22  * Library General Public License for more details.                          * 
23  *                                                                           * 
24  * You should have received a copy of the GNU Library General Public         * 
25  * License along with this library; if not, write to the Free Software       * 
26  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.                 * 
27  *                                                                           * 
28 \*---------------------------------------------------------------------------*/
29 /*---------------------------------------------------------------------------*\
30  *                                Changes                                    * 
31  *                                                                           * 
32  *                                                                           * 
33  *                                                                           * 
34  *                                                                           * 
35  *                                                                           * 
36  *                                                                           * 
37 \*---------------------------------------------------------------------------*/
39 OSG_BEGIN_NAMESPACE
41 template <class ValueTypeT>
42 inline ValueTypeT
43     NFIOOptions::getValue(const IOOption &option, ValueTypeT const &defaultValue)
45     ValueTypeT retVal = defaultValue;
46     
47     if(!option.optValue.empty())
48     {
49         try
50         {
51             retVal = boost::lexical_cast<ValueTypeT>(option.optValue);
52         }
53         catch(boost::bad_lexical_cast &)
54         {
55             FWARNING(("NFIOOptions::getValue: "
56                       "Extraction of option value failed, using default.\n"));
57         }
58     }
59     
60     return retVal;
63 OSG_END_NAMESPACE