25 lines
800 B
C++
25 lines
800 B
C++
#ifndef FESA_IO_ABAQUS_DOMAIN_MAPPER_H_
|
|
#define FESA_IO_ABAQUS_DOMAIN_MAPPER_H_
|
|
|
|
#include "fesa/core/status.h"
|
|
#include "fesa/io/abaqus/input_syntax.h"
|
|
#include "fesa/model/domain.h"
|
|
|
|
namespace fesa {
|
|
|
|
/// @brief Maps syntax-only blocks into an approved immutable semantic model.
|
|
/// @note Source identity and declaration order are preserved through mapping.
|
|
class AbaqusDomainMapper {
|
|
public:
|
|
/// @brief Resolves supported Abaqus syntax into a complete Domain candidate.
|
|
/// @param input Parsed syntax whose source locations remain valid for
|
|
/// mapping.
|
|
/// @return A committed Domain or structured input/model diagnostics; partial
|
|
/// domains are never returned.
|
|
Result<Domain> Map(const ParsedInput& input) const;
|
|
};
|
|
|
|
} // namespace fesa
|
|
|
|
#endif // FESA_IO_ABAQUS_DOMAIN_MAPPER_H_
|