Files
AI/참고/guardrails-main/docs/api_reference/generics_and_base_classes.md

140 lines
2.0 KiB
Markdown
Raw Permalink Normal View History

2026-05-12 19:40:31 +09:00
# Generics And Base Classes
## ArbitraryModel
```python
class ArbitraryModel(BaseModel)
```
Empty Pydantic model with a config that allows arbitrary types.
## Stack
```python
class Stack(List[T])
```
#### empty
```python
def empty() -> bool
```
Tests if this stack is empty.
#### peek
```python
def peek() -> Optional[T]
```
Looks at the object at the top (last/most recently added) of this
stack without removing it from the stack.
#### pop
```python
def pop() -> Optional[T]
```
Removes the object at the top of this stack and returns that object
as the value of this function.
#### push
```python
def push(item: T) -> None
```
Pushes an item onto the top of this stack.
Proxy of List.append
Limits Stack Length to _max_length entries
#### search
```python
def search(x: T) -> Optional[int]
```
Returns the 0-based position of the last item whose value is equal
to x on this stack.
We deviate from the typical 1-based position used by Stack
classes (i.e. Java) because most python users (and developers in
general) are accustomed to 0-based indexing.
#### at
```python
def at(index: int, default: Optional[T] = None) -> Optional[T]
```
Returns the item located at the index.
If the index does not exist in the stack (Overflow or
Underflow), None is returned instead.
#### copy
```python
def copy() -> "Stack[T]"
```
Returns a copy of the current Stack.
#### first
```python
@property
def first() -> Optional[T]
```
Returns the first item of the stack without removing it.
Same as Stack.bottom.
#### last
```python
@property
def last() -> Optional[T]
```
Returns the last item of the stack without removing it.
Same as Stack.top.
#### bottom
```python
@property
def bottom() -> Optional[T]
```
Returns the item on the bottom of the stack without removing it.
Same as Stack.first.
#### top
```python
@property
def top() -> Optional[T]
```
Returns the item on the top of the stack without removing it.
Same as Stack.last.
#### length
```python
@property
def length() -> int
```
Returns the number of items in the Stack.