1 /*******************************************************************************
2 * tlx/string/index_of.cpp
3 *
4 * Part of tlx - http://panthema.net/tlx
5 *
6 * Copyright (C) 2007-2017 Timo Bingmann <tb@panthema.net>
7 *
8 * All rights reserved. Published under the Boost Software License, Version 1.0
9 ******************************************************************************/
10
11 #include <tlx/string/index_of.hpp>
12
13 #include <tlx/string/equal_icase.hpp>
14
15 #include <stdexcept>
16
17 namespace tlx {
18
index_of(const std::vector<std::string> & list,const char * str)19 size_t index_of(const std::vector<std::string>& list, const char* str) {
20 for (size_t i = 0; i < list.size(); ++i) {
21 if (list[i] == str)
22 return i;
23 }
24 std::string reason = "Could not find index_of() ";
25 reason += str;
26 throw std::runtime_error(reason);
27 }
28
index_of(const std::vector<std::string> & list,const std::string & str)29 size_t index_of(const std::vector<std::string>& list, const std::string& str) {
30 for (size_t i = 0; i < list.size(); ++i) {
31 if (list[i] == str)
32 return i;
33 }
34 std::string reason = "Could not find index_of() ";
35 reason += str;
36 throw std::runtime_error(reason);
37 }
38
index_of_icase(const std::vector<std::string> & list,const char * str)39 size_t index_of_icase(const std::vector<std::string>& list, const char* str) {
40 for (size_t i = 0; i < list.size(); ++i) {
41 if (tlx::equal_icase(list[i], str))
42 return i;
43 }
44 std::string reason = "Could not find index_of_icase() ";
45 reason += str;
46 throw std::runtime_error(reason);
47 }
48
49 size_t
index_of_icase(const std::vector<std::string> & list,const std::string & str)50 index_of_icase(const std::vector<std::string>& list, const std::string& str) {
51 for (size_t i = 0; i < list.size(); ++i) {
52 if (tlx::equal_icase(list[i], str))
53 return i;
54 }
55 std::string reason = "Could not find index_of_icase() ";
56 reason += str;
57 throw std::runtime_error(reason);
58 }
59
60 } // namespace tlx
61
62 /******************************************************************************/
63