Changeset 1543 for code/trunk/src/core/IdentifierDistributor.cc
- Timestamp:
- Jun 5, 2008, 2:18:14 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk/src/core/IdentifierDistributor.cc
r1505 r1543 1 /*2 * ORXONOX - the hottest 3D action shooter ever to exist3 * > www.orxonox.net <4 *5 *6 * License notice:7 *8 * This program is free software; you can redistribute it and/or9 * modify it under the terms of the GNU General Public License10 * as published by the Free Software Foundation; either version 211 * of the License, or (at your option) any later version.12 *13 * This program is distributed in the hope that it will be useful,14 * but WITHOUT ANY WARRANTY; without even the implied warranty of15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the16 * GNU General Public License for more details.17 *18 * You should have received a copy of the GNU General Public License19 * along with this program; if not, write to the Free Software20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.21 *22 * Author:23 * Fabian 'x3n' Landau24 * Co-authors:25 * ...26 *27 */28 29 /**30 @file IdentifierDistributor.cc31 @brief Implementation of the IdentifierDistributor class.32 */33 34 #include "IdentifierDistributor.h"35 #include "Identifier.h"36 37 namespace orxonox38 {39 /**40 @brief Returns the only instance of a ClassIdentifier for a given class.41 @param name The name of the class42 @param proposal A proposal for the ClassIdentifier in case there is no entry yet.43 @return The unique ClassIdentifier44 */45 Identifier* IdentifierDistributor::getIdentifier(const std::string& name, Identifier* proposal)46 {47 // Create the only instance of the IdentifierDistributor-singleton48 static IdentifierDistributor theOneAndOnlyInstance = IdentifierDistributor();49 50 // Look for an entry in the map51 std::map<std::string, Identifier*>::const_iterator it = theOneAndOnlyInstance.identifiers_.find(name);52 if (it != theOneAndOnlyInstance.identifiers_.end())53 {54 // There is already an entry: return it55 return (*it).second;56 }57 else58 {59 // There is no entry: put the proposal into the map and return it60 theOneAndOnlyInstance.identifiers_[name] = proposal;61 return proposal;62 }63 }64 }
Note: See TracChangeset
for help on using the changeset viewer.