mirror of https://github.com/trapexit/mergerfs.git
Antonio SJ Musumeci
4 years ago
22 changed files with 145 additions and 264 deletions
-
1src/buildmap.hpp
-
59src/category.cpp
-
68src/category.hpp
-
49src/policy.hpp
-
4src/policy_all.cpp
-
8src/policy_epall.cpp
-
8src/policy_epff.cpp
-
8src/policy_eplfs.cpp
-
8src/policy_eplus.cpp
-
8src/policy_epmfs.cpp
-
2src/policy_eprand.cpp
-
2src/policy_erofs.cpp
-
4src/policy_ff.cpp
-
8src/policy_invalid.cpp
-
4src/policy_lfs.cpp
-
4src/policy_lus.cpp
-
4src/policy_mfs.cpp
-
4src/policy_msplfs.cpp
-
4src/policy_msplus.cpp
-
4src/policy_mspmfs.cpp
-
8src/policy_newest.cpp
-
2src/policy_rand.cpp
@ -1,59 +0,0 @@ |
|||||
/*
|
|
||||
Copyright (c) 2016, Antonio SJ Musumeci <trapexit@spawn.link> |
|
||||
|
|
||||
Permission to use, copy, modify, and/or distribute this software for any |
|
||||
purpose with or without fee is hereby granted, provided that the above |
|
||||
copyright notice and this permission notice appear in all copies. |
|
||||
|
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
|
||||
*/ |
|
||||
|
|
||||
#include <string>
|
|
||||
#include <vector>
|
|
||||
|
|
||||
#include "category.hpp"
|
|
||||
#include "buildvector.hpp"
|
|
||||
|
|
||||
#define CATEGORY(X) Category(Category::Enum::X,#X)
|
|
||||
|
|
||||
const std::vector<Category> Category::_categories_ = |
|
||||
buildvector<Category,true> |
|
||||
(CATEGORY(invalid)) |
|
||||
(CATEGORY(action)) |
|
||||
(CATEGORY(create)) |
|
||||
(CATEGORY(search)); |
|
||||
|
|
||||
const Category * const Category::categories = &_categories_[1]; |
|
||||
|
|
||||
const Category &Category::invalid = Category::categories[Category::Enum::invalid]; |
|
||||
const Category &Category::action = Category::categories[Category::Enum::action]; |
|
||||
const Category &Category::create = Category::categories[Category::Enum::create]; |
|
||||
const Category &Category::search = Category::categories[Category::Enum::search]; |
|
||||
|
|
||||
const Category& |
|
||||
Category::find(const std::string &str) |
|
||||
{ |
|
||||
for(int i = Enum::BEGIN; i != Enum::END; ++i) |
|
||||
{ |
|
||||
if(categories[i] == str) |
|
||||
return categories[i]; |
|
||||
} |
|
||||
|
|
||||
return invalid; |
|
||||
} |
|
||||
|
|
||||
const Category& |
|
||||
Category::find(const Category::Enum::Type i) |
|
||||
{ |
|
||||
if(i >= Category::Enum::BEGIN && |
|
||||
i < Category::Enum::END) |
|
||||
return categories[i]; |
|
||||
|
|
||||
return invalid; |
|
||||
} |
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue