Write a program to implement a circular buffer using pointers.
Implement circular_buffer(capacity, operations) using a fixed-size array and integer read and write pointers. Each operation is an array such as ["enqueue", value], ["dequeue"], or ["peek"]; return one result per operation, using True or False for enqueue success and None when dequeue or peek cannot return a value.
The buffer must reuse positions after wraparound and reject enqueue operations when full.
def circular_buffer(capacity, operations):