:orphan:
# VecTaggerComputeBoxes
If the tagged index set can be summarized as a list of boxes of values, returns that list, otherwise returns in listed `PETSC_FALSE` 
## Synopsis
```
#include "petscvec.h" 
PetscErrorCode VecTaggerComputeBoxes(VecTagger tagger, Vec vec, PetscInt *numBoxes, VecTaggerBox **boxes, PetscBool *listed)
```
Collective on VecTagger


## Input Parameters

- ***tagger -*** the `VecTagger` context
- ***vec -*** the vec to tag



## Output Parameters

- ***numBoxes -*** the number of boxes in the tag definition
- ***boxes -*** a newly allocated list of boxes.  This is a flat array of (BlockSize * `numBoxe`s) pairs that the user can free with `PetscFree()`.
- ***listed -*** `PETSC_TRUE` if a list was created, pass in `NULL` if not needed





## Note
A value is tagged if it is in any of the boxes, unless the tagger has been inverted (see `VecTaggerSetInvert()`/`VecTaggerGetInvert()`), in which case a value is tagged if it is in none of the boxes.


## See Also
 `VecTaggerComputeIS()`, `VecTagger`, `VecTaggerCreate()`

## Level
advanced

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/vec/utils/tagger/interface/tagger.c.html#VecTaggerComputeBoxes">src/vec/vec/utils/tagger/interface/tagger.c</A>

## Examples
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/vec/utils/tagger/tutorials/ex1.c.html">src/vec/vec/utils/tagger/tutorials/ex1.c</A><BR>

## Implementations

<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/vec/utils/tagger/impls/absolute.c.html#VecTaggerComputeBoxes_Absolute">VecTaggerComputeBoxes_Absolute in src/vec/vec/utils/tagger/impls/absolute.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/vec/utils/tagger/impls/and.c.html#VecTaggerComputeBoxes_And">VecTaggerComputeBoxes_And in src/vec/vec/utils/tagger/impls/and.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/vec/utils/tagger/impls/cdf.c.html#VecTaggerComputeBoxes_CDF">VecTaggerComputeBoxes_CDF in src/vec/vec/utils/tagger/impls/cdf.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/vec/utils/tagger/impls/or.c.html#VecTaggerComputeBoxes_Or">VecTaggerComputeBoxes_Or in src/vec/vec/utils/tagger/impls/or.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/vec/utils/tagger/impls/relative.c.html#VecTaggerComputeBoxes_Relative">VecTaggerComputeBoxes_Relative in src/vec/vec/utils/tagger/impls/relative.c</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/vec/utils/tagger/interface/tagger.c)


[Index of all Vec routines](index.md)  
[Table of Contents for all manual pages](/manualpages/index.md)  
[Index of all manual pages](/manualpages/singleindex.md)  
