Max Kellermann
ce49d99c2f
check.h: remove obsolete header
...
Since we switched from autotools to Meson in commit
94592c1406
, we don't need to include
`config.h` early to properly enable large file support. Meson passes
the required macros on the compiler command line instead of defining
them in `config.h`.
This means we can include `config.h` at any time, whenever we want to
check its macros, and there are no ordering constraints.
2018-11-19 16:33:49 +01:00
Max Kellermann
f5c9071494
*: copyright year 2018
2018-10-31 17:54:59 +01:00
Max Kellermann
ec54754e22
Compiler.h: move to util/
2018-08-20 16:19:17 +02:00
Max Kellermann
32290d5eb8
fs/Path: add method ToUTF8Throw()
2018-07-18 16:51:29 +02:00
Max Kellermann
f87265a4d5
fs/AllocatedPath: divert some methods to class Path
...
Eliminate duplicate code.
2018-07-18 16:51:29 +02:00
Max Kellermann
b168a9d469
fs/Traits: add Apply()
2018-07-18 13:06:07 +02:00
Max Kellermann
2b1d6ad396
fs/{,Allocated}Path: add typedef Traits
2018-07-18 13:05:23 +02:00
Max Kellermann
bbc5212436
fs/AllocatedPath: make the nullptr_t constructor public
2018-01-17 12:17:41 +01:00
Max Kellermann
a057b4f6d8
*: add lost of "noexcept" specifications
2017-06-04 12:46:48 +02:00
Max Kellermann
788e3b31e1
*: remove "pure" and "const" attributes from throwing functions
...
The "pure" and "const" attributes are not so well-defined, and a
recent clang version implements an optimization which pushes the
definition's boundary beyond what I believed it was. clang now
assumes that functions declared "pure" cannot throw exceptions, even
if they lack the "noexcept" specification.
When compiled with this new clang version, MPD will crash randomly if
an exception happens to get thrown by such as "pure" function
(https://github.com/MusicPlayerDaemon/MPD/issues/41 ).
This commit removes all such misplaced "pure" and "const" attributes,
closing #41 .
2017-05-08 17:25:06 +02:00
Max Kellermann
71f0ed8b74
*: add "noexcept" to many, many function prototypes
...
This eliminates some overhead, because the compiler doesn't need to
consider these functions throwing.
2017-05-08 14:44:49 +02:00
Max Kellermann
5900253b85
update copyright year
2017-01-03 20:48:59 +01:00
Max Kellermann
f4bb18b05e
fs/AllocatedPath: remove the obsolete class Error overload
2016-11-10 12:55:08 +01:00
Max Kellermann
fc3e0dfcd1
fs/AllocatedPath: add method FromUTF8Throw()
2016-04-21 14:27:32 +02:00
Max Kellermann
7530770842
fs/AllocatedPath: add FromFS() with pointer range
2016-04-21 14:21:24 +02:00
Max Kellermann
11ea72e240
fs/AllocatedPath: make constructor "explicit"
2016-04-21 14:20:56 +02:00
Max Kellermann
9b85446808
util/StringPointer: rename typedef pointer to pointer_type
2016-04-12 22:53:06 +02:00
Max Kellermann
1d67aa7bf2
update copyright year to 2016
2016-02-26 17:54:05 +01:00
Max Kellermann
0e00b9009d
fs/Path: pass Path to Relative()
2015-02-28 23:45:16 +01:00
Max Kellermann
a6dd998d31
fs/AllocatedPath: use PathTraitsFS::Relative()
...
Eliminate duplicate code.
2015-02-28 23:30:53 +01:00
Max Kellermann
cdd0ccc67a
fs/Path: rename RelativeFS() to Relative()
2015-02-28 23:19:34 +01:00
Max Kellermann
e1a434edbc
fs/Path: make IsAbsolute() const
2015-02-28 23:00:26 +01:00
Max Kellermann
81c49fba03
fs/AllocatedPath: add nullptr_t constructor
2015-02-25 19:53:35 +01:00
Max Kellermann
eb174d5ba3
fs/{Allocated,}Path,Charset: use PathTraitsFS typedefs
2015-02-25 19:17:45 +01:00
Max Kellermann
b043b2a761
fs/AllocatedPath: add operator==
2015-01-13 10:42:29 +01:00
Max Kellermann
712ed555e6
Copyright year 2015
2015-01-01 19:48:13 +01:00
Max Kellermann
4f80a129f1
fs/Charset: return std::string from PathFromUTF8()
...
Don't expose pointer that requires the caller to invoke g_free(),
because that's GLib-only.
2014-11-30 00:28:27 +01:00
Max Kellermann
cf06ba6d13
fs/AllocatedPath: add method Steal()
2014-09-28 18:12:20 +02:00
Max Kellermann
a8d800572e
fs/AllocatedPath: API documentation grammar fixes
2014-09-28 18:06:18 +02:00
Max Kellermann
c310941f69
fs/AllocatedPath: add conversion constructor from Path
2014-01-30 23:36:57 +01:00
Max Kellermann
0bd01824f6
fs/AllocatedPath: add Build() overlays with Path arguments
2014-01-30 22:15:13 +01:00
Max Kellermann
4f83c60296
copyright year 2014
2014-01-13 22:31:55 +01:00
Denis Krjuchkov
0a6c4c31b2
fs/Traits: split PathTraits type into PathTraitsFS and PathTraitsUTF8
2013-12-05 03:53:43 +06:00
Denis Krjuchkov
55ed7bd34d
AllocatedPath.hxx: use move constructor
2013-12-03 14:57:26 +06:00
Denis Krjuchkov
eeeef3eab5
fs/AllocatedPath: use PathTraits::BuildFS
2013-12-03 13:50:50 +06:00
Denis Krjuchkov
2278fe42e5
fs/Traits.hxx: move definition of AllocatedPath::string to PathTraits
2013-12-03 13:37:35 +06:00
Denis Krjuchkov
6c5828822c
fs/AllocatedPath.hxx: add FromFS(std::string) method
2013-12-03 12:16:53 +06:00
Max Kellermann
f90abe9530
include cleanup using iwyu
2013-11-28 11:50:54 +01:00
Max Kellermann
93068f10ec
fs/AllocatedPath: don't include glib.h
2013-10-21 10:27:14 +02:00
Max Kellermann
abfbd55305
fs/Path: rename to AllocatedPath
...
The new class Path only holds a string pointer without being
responsible for allocation/deallocation. The FileSystem.hxx library
accepts Path arguments instead of AllocatedPath, to avoid forcing
callers to allocate another string object.
2013-10-17 23:43:46 +02:00