Sen API
Sen Libraries
Loading...
Searching...
No Matches
util.h File Reference
#include "sen/core/lang/stl_resolver.h"
#include "sen/core/meta/custom_type.h"
#include <inja/environment.hpp>
#include <cstddef>
#include <iomanip>
#include <sstream>
#include <string>
#include <string_view>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  sen
namespace  sen::gen
namespace  sen::gen::detail
namespace  sen::gen::detail::impl

Functions

void sen::gen::detail::configureEnv (inja::Environment &env)
 Registers inja helper callbacks used by generator templates.
std::vector< std::string > sen::gen::detail::tokenize (const std::string &str, const char delim)
 Splits a string into substrings by a delimiter, skipping empty results.
std::string sen::gen::detail::prepend (const std::string &prefix, const std::string str)
 Appends a prefix to the beginning of a given string.
std::string sen::gen::detail::append (const std::string &lhs, const std::string rhs)
 Appends a suffix to the end of a given string.
std::string sen::gen::detail::capitalize (const std::string &str)
 Transform a string to uppercase.
std::string sen::gen::detail::capitalize (std::string_view str)
 Transform a string_view to uppercase.
std::string sen::gen::detail::computeCppNamespace (const std::vector< std::string > &package)
 Computes C++ namespace from a string package.
std::string sen::gen::detail::computeCppNamespace (const sen::lang::TypeSet &set)
 Computes C++ namespace from a type set.
std::string sen::gen::detail::computeCppNamespace (const sen::CustomType &type)
 Computes C++ namespace from a custom type.
std::vector< const sen::lang::TypeSet * > sen::gen::detail::collectAllTypeSets (const sen::lang::TypeSetContext &typeSets)
 Walks the given context's type sets and their imports depth-first, returning unique sets in insertion order. Insertion order (rather than pointer order) keeps generator output stable across builds for generators that emit a single consolidated file or rely on iteration order for dependency layering.
template<typename T>
std::string sen::gen::detail::intToHex (T i)
template<typename T>
std::string sen::gen::detail::intToHex2 (T i)

Variables

constexpr std::size_t sen::gen::detail::impl::maxCommentLineLength = 80U