# 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 * numBoxes) pairs that the user can free with PetscFree().
- ***listed -*** PETSC_TRUE if a list was created, pass in NULL if not needed



## Notes
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.html</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](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
