aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2021-03-07Simplify reader interfaceDavid Robillard1-11/+14
2021-03-07Add SerdSink interface and hide implementationsDavid Robillard1-48/+91
2021-03-07Use consistent naming for function typesDavid Robillard1-19/+19
2021-03-07Bring read/write interface closer to C standardDavid Robillard1-32/+33
2021-03-07Simplify reader interfaceDavid Robillard1-38/+22
2021-03-07Set datatypes on integer, decimal, and base64 nodesDavid Robillard1-4/+16
2021-03-07Simplify node construction APIDavid Robillard1-40/+38
2021-03-07Simplify URI API and implementationDavid Robillard1-82/+90
2021-03-07Add serd_node_uri_view()David Robillard1-0/+15
2021-03-07Add serd_node_string_view()David Robillard1-0/+10
2021-03-07Merge datatype/language into nodeDavid Robillard1-15/+36
This moves closer to the sord API, and is more convenient in most cases.
2021-03-07Remove SERD_NOTHING node typeDavid Robillard1-7/+0
2021-03-07Make nodes opaqueDavid Robillard1-53/+32
2021-03-07Add node accessor APIDavid Robillard1-0/+20
2021-03-07Shorten node constructor namesDavid Robillard1-22/+22
2021-03-07Add string view construction macrosDavid Robillard1-0/+30
2021-03-07Remove "get" from accessor namesDavid Robillard1-4/+4
2021-03-07Rename SerdStyle to SerdWriterFlagsDavid Robillard1-8/+11
2021-03-07Rename SerdType to SerdNodeTypeDavid Robillard1-4/+4
The old name will be even more ambiguous with the increased scope.
2021-03-07Rename SerdURI to SerdURIViewDavid Robillard1-39/+39
2021-03-07Rename SerdChunk to SerdStringViewDavid Robillard1-13/+13
2021-03-07Use char* for strings in public APIDavid Robillard1-52/+51
The constant casting just makes user code a mess, for no benefit.
2021-03-07Remove escape parameter from serd_node_new_file_uriDavid Robillard1-5/+3
Since characters are escaped because they are not valid characters in a URI, any use of this function without escaping is problematic at best.
2021-03-07Remove useless character countingDavid Robillard1-5/+2
2021-03-07Add SerdBuffer type for mutable buffersDavid Robillard1-8/+14
This avoids const violations from abusing SerdChunk as a mutable buffer for string sinks.
2021-03-07Remove serd_uri_to_path()David Robillard1-28/+0
2021-01-10Only use modern deprecated attributes on clang 7 and newerDavid Robillard1-1/+1
2021-01-10Only use nullability attributes on clang 7 and newerDavid Robillard1-1/+1
These have existed for longer, but the names were changed.
2021-01-09Fix SERD_DISABLE_DEPRECATEDDavid Robillard1-0/+4
2021-01-07Use globally unique Doxygen group namesDavid Robillard1-8/+8
This is necessary to avoid clashes when building unified documentation as a subproject.
2021-01-06Switch to LV2 documentation themeDavid Robillard1-2/+2
2021-01-02Use email address instead of website for attributionDavid Robillard1-1/+1
2021-01-02Use SERD_STATIC instead of SERD_SHARED to control visibilityDavid Robillard1-3/+3
For consistency, this seems to be the most common convention.
2020-12-31Format all code with clang-formatDavid Robillard1-138/+143
2020-12-21Generate documentation with SphinxDavid Robillard1-8/+8
2020-12-18Fix build on ancient GCCDavid Robillard1-1/+3
2020-12-15Suppress new clang-tidy warningsDavid Robillard1-0/+1
2020-12-15Fix nullable annotations on allocating function return valuesDavid Robillard1-2/+2
2020-11-15Strengthen null annotation on serd_env_get_base_uri()David Robillard1-1/+1
2020-11-14Deprecate serd_uri_to_path()David Robillard1-1/+11
2020-11-13Improve documentationDavid Robillard1-19/+36
2020-11-13Use line commentDavid Robillard1-3/+1
2020-11-13Improve documentation summary for SerdEnvDavid Robillard1-6/+1
2020-11-13Use line comments where appropriate and clean up headerDavid Robillard1-222/+115
2020-11-12Relax nullability annotation on allocation functionsDavid Robillard1-3/+5
In practice almost nobody checks for failed allocation, including unfortunately the serd tests and serdi itself. Adding a struct mode to conditionally define this would be a good idea to support allocation-hardened code, but for now just mark them as unspecified instead. On the bright side, this documents the nature of the returned pointers nicely.
2020-11-11Add nonnull and nullable attributes to APIDavid Robillard1-183/+214
This will warn if NULL is passed to any nonnull-annotated parameter, and is also supported by sanitizers which can check for violations at runtime. Unfortunately, it is currently only supported by clang. GCC has a similar feature in the nonnull attribute, but this has a different syntax (it's a function attribute) and is more dangerous since it is used by the optimizer to assume a null pointer is undefined behavior. This one just warns and still allows code to handle the situation gracefully, which I think is more appropriate for a library API. Note that this optimization behavior is not some unlikely edge case: switching these attributes to the GCC one will break release builds.
2020-11-10Add const, pure, and malloc function attributesDavid Robillard1-5/+16
2020-11-10Simplify visibility boilerplateDavid Robillard1-13/+6
2020-11-09Fix clang-tidy hicpp-signed-bitwise warnings in headerDavid Robillard2-16/+16
In exchange for suppressing a pointless superficial warning instead, but I dislike that convention since it looks confusing when hex digits are used and it's inconsistent with near-universal floating point suffix convention.
2020-11-09Check headers with stricter clang-tidy settingsDavid Robillard1-0/+7