From 31455af4fc58ced3e5677a8dfaf9f29de53b2112 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 25 Jul 2018 20:24:39 +0300 Subject: Move bpkg::package_name class to butl::project_name --- libbpkg/package-name.cxx | 94 ------------------------------------------------ 1 file changed, 94 deletions(-) delete mode 100644 libbpkg/package-name.cxx (limited to 'libbpkg/package-name.cxx') diff --git a/libbpkg/package-name.cxx b/libbpkg/package-name.cxx deleted file mode 100644 index 9a3e787..0000000 --- a/libbpkg/package-name.cxx +++ /dev/null @@ -1,94 +0,0 @@ -// file : libbpkg/package-name.cxx -*- C++ -*- -// copyright : Copyright (c) 2014-2018 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -#include - -#include -#include -#include // move() -#include // back_inserter -#include // find(), transform() -#include // invalid_argument - -#include // path::traits -#include // alpha(), alnum() - -using namespace std; -using namespace butl; - -namespace bpkg -{ - // package_name - // - static const vector illegal_pkg_names ({ - "build", - "con", "prn", "aux", "nul", - "com1", "com2", "com3", "com4", "com5", "com6", "com7", "com8", "com9", - "lpt1", "lpt2", "lpt3", "lpt4", "lpt5", "lpt6", "lpt7", "lpt8", "lpt9"}); - - static const string legal_pkg_chars ("_+-."); - - package_name:: - package_name (std::string&& nm) - { - if (nm.size () < 2) - throw invalid_argument ("length is less than two characters"); - - if (find (illegal_pkg_names.begin (), illegal_pkg_names.end (), nm) != - illegal_pkg_names.end ()) - throw invalid_argument ("illegal name"); - - if (!alpha (nm.front ())) - throw invalid_argument ("illegal first character (must be alphabetic)"); - - // Here we rely on the fact that the name length >= 2. - // - for (auto i (nm.cbegin () + 1), e (nm.cend () - 1); i != e; ++i) - { - char c (*i); - - if (!(alnum(c) || legal_pkg_chars.find (c) != string::npos)) - throw invalid_argument ("illegal character"); - } - - if (!alnum (nm.back ()) && nm.back () != '+') - throw invalid_argument ( - "illegal last character (must be alphabetic, digit, or plus)"); - - value_ = move (nm); - } - - string package_name:: - base () const - { - using std::string; - - size_t p (path::traits::find_extension (value_)); - return string (value_, 0, p); - } - - string package_name:: - extension () const - { - using std::string; - - size_t p (path::traits::find_extension (value_)); - return p != string::npos ? string (value_, p + 1) : string (); - } - - string package_name:: - variable () const - { - using std::string; - - auto sanitize = [] (char c) - { - return (c == '-' || c == '+' || c == '.') ? '_' : c; - }; - - string r; - transform (value_.begin (), value_.end (), back_inserter (r), sanitize); - return r; - } -} -- cgit v1.1