TraceMaker
C++ API of the engine
Loading...
Searching...
No Matches
tmk::sexpr Namespace Reference

Classes

struct  Node
class  ParseError
class  Document

Typedefs

using NodeId = std::uint32_t

Enumerations

enum class  Kind : std::uint8_t { List , Symbol , String }

Functions

std::string quote (std::string_view s)
 Escapes a string for KiCad s-expressions and adds quotes.
std::string format_mm (std::int64_t nm)
 Formats nanometres as a KiCad millimetre number: shortest exact decimal, no trailing zeros ("0.25", "-12", "1.000001").
std::optional< std::int64_t > parse_mm (std::string_view s)
 Parses a decimal millimetre string to nanometres exactly; rounds half away from zero beyond 6 decimals.

Variables

constexpr NodeId kNoNode = 0xFFFFFFFFu

Typedef Documentation

◆ NodeId

using tmk::sexpr::NodeId = std::uint32_t

Definition at line 19 of file sexpr.hpp.

Enumeration Type Documentation

◆ Kind

enum class tmk::sexpr::Kind : std::uint8_t
strong
Enumerator
List 
Symbol 
String 

Definition at line 22 of file sexpr.hpp.

Function Documentation

◆ format_mm()

std::string tmk::sexpr::format_mm ( std::int64_t nm)

Formats nanometres as a KiCad millimetre number: shortest exact decimal, no trailing zeros ("0.25", "-12", "1.000001").

◆ parse_mm()

std::optional< std::int64_t > tmk::sexpr::parse_mm ( std::string_view s)

Parses a decimal millimetre string to nanometres exactly; rounds half away from zero beyond 6 decimals.

◆ quote()

std::string tmk::sexpr::quote ( std::string_view s)

Escapes a string for KiCad s-expressions and adds quotes.

Variable Documentation

◆ kNoNode

NodeId tmk::sexpr::kNoNode = 0xFFFFFFFFu
inlineconstexpr

Definition at line 20 of file sexpr.hpp.