Skip to main content

oximo_core/
lib.rs

1#![doc = include_str!("../README.md")]
2#![forbid(unsafe_code)]
3
4extern crate self as oximo_core;
5
6#[doc(hidden)]
7#[path = "macro_support.rs"]
8pub mod __macro_support;
9pub mod constraint;
10pub mod display;
11pub mod domain;
12pub mod error;
13pub mod indexed;
14pub mod model;
15pub mod objective;
16pub mod param;
17pub mod prelude;
18pub mod set;
19pub mod soc;
20pub mod sum;
21pub mod var;
22
23pub use constraint::{Constraint, ConstraintExpr, ConstraintId, IntoRhs, Relate, Sense};
24pub use display::{ConstraintDisplay, ExprDisplay, ObjectiveDisplay, SocDisplay};
25pub use domain::Domain;
26pub use error::{Error, Result};
27pub use indexed::{IndexedParam, IndexedVar};
28pub use model::{IndexedVarBuilder, Model, ModelKind, display_index_key};
29pub use objective::{Objective, ObjectiveSense};
30pub use param::Parameter;
31pub use set::{Axis, FromIndexKey, IndexKey, IndexTuple, KeyCat, ScalarKey, Set, SetIter};
32pub use soc::{SocConstraint, SocConstraintId, SocForm, detect_soc, explicit_soc_form};
33pub use sum::SumDomain;
34pub use var::{VarBuilder, Variable, var_name};
35
36// Re-export the expression handle so downstream code does not need a separate
37// `oximo-expr` import.
38pub use oximo_expr::{
39    EvalError, Expr, ExprArena, ExprId, ExprNode, ParamId, VarId, describe_nonlinear_term, dot,
40    render_expr, render_linear_terms,
41};
42
43pub use oximo_macros::{constraint, objective, param, set, soc_constraint, sum, variable};