Drizzled Public API Documentation

find_ptr.h
00001 /* Drizzle
00002  * Copyright (C) 2011 Olaf van der Spek
00003  * 
00004  * This program is free software: you can redistribute it and/or modify
00005  * it under the terms of the GNU General Public License as published by
00006  * the Free Software Foundation, either version 2 of the License, or
00007  * (at your option) any later version.
00008  * 
00009  * This program is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00012  * GNU General Public License for more details.
00013  * 
00014  * You should have received a copy of the GNU General Public License
00015  * along with this program. If not, see <http://www.gnu.org/licenses/>.
00016  */
00017 
00018 #pragma once
00019 
00020 template <class T, class U>
00021 typename T::mapped_type* find_ptr(T& c, U v)
00022 {
00023   typename T::iterator i = c.find(v);
00024   return i == c.end() ? NULL : &i->second;
00025 }
00026 
00027 template <class T, class U>
00028 const typename T::mapped_type* find_ptr(const T& c, U v)
00029 {
00030   typename T::const_iterator i = c.find(v);
00031   return i == c.end() ? NULL : &i->second;
00032 }