mod attribute_definition;
mod attribute_object_type;
mod attribute_target;
mod attribute_value;
mod attribute_value_type;
pub use attribute_definition::AttributeDefinition;
pub use attribute_object_type::AttributeObjectType;
pub use attribute_target::AttributeTarget;
pub use attribute_value::AttributeValue;
pub use attribute_value_type::AttributeValueType;
mod impls;
pub(crate) mod parse;
#[cfg(feature = "std")]
mod std;
#[cfg(feature = "std")]
mod builder;
use crate::compat::{Name, String, Vec};
#[cfg(feature = "std")]
pub use builder::AttributeDefinitionBuilder;
pub const MAX_ATTRIBUTE_STRING_SIZE: usize = 256;
pub type AttributeString = String<MAX_ATTRIBUTE_STRING_SIZE>;
pub type EnumValues = Vec<Name, { crate::MAX_ATTRIBUTE_ENUM_VALUES }>;
pub type AttributeDefinitions = Vec<AttributeDefinition, { crate::MAX_ATTRIBUTE_DEFINITIONS }>;