feat: add candidate FreeCAD naming SDK and attachment oracles
Build and verify the candidate-only FreeCAD naming bridge and OCCT worker path, including three-stage StringHasher restoration. Add Datum, ShapeBinder, attachment-mode, and PartDesign structure oracles plus offline SDK build plans and CI boundary checks.
This commit is contained in:
43
native/freecad-naming-probe/shims/Base/Stream.h
Normal file
43
native/freecad-naming-probe/shims/Base/Stream.h
Normal file
@@ -0,0 +1,43 @@
|
||||
#pragma once
|
||||
|
||||
#include <istream>
|
||||
#include <ostream>
|
||||
#include <string>
|
||||
|
||||
namespace Base {
|
||||
|
||||
class TextOutputStream
|
||||
{
|
||||
public:
|
||||
explicit TextOutputStream(std::ostream& stream)
|
||||
: output(stream)
|
||||
{}
|
||||
|
||||
TextOutputStream& operator<<(const char* value)
|
||||
{
|
||||
output << value;
|
||||
return *this;
|
||||
}
|
||||
|
||||
private:
|
||||
std::ostream& output;
|
||||
};
|
||||
|
||||
class TextInputStream
|
||||
{
|
||||
public:
|
||||
explicit TextInputStream(std::istream& stream)
|
||||
: input(stream)
|
||||
{}
|
||||
|
||||
TextInputStream& operator>>(std::string& value)
|
||||
{
|
||||
input >> value;
|
||||
return *this;
|
||||
}
|
||||
|
||||
private:
|
||||
std::istream& input;
|
||||
};
|
||||
|
||||
} // namespace Base
|
||||
Reference in New Issue
Block a user